2012-06-29 157 views
2

使用Rails 3.2.2和ruby 1.9.2,我无法为生产服务资产。我们在apache上运行。我已阅读一些文档并设置:Rails 3服务于生产资产

config.serve_static_assets = true 
config.assets.compile = true 

在production.rb中,它似乎不工作。我还能尝试什么?或者我怎样才能得到一些调试信息,看它在哪里。

此外,我回到开发,并进入资产/图像和删除.png文件,以故意破坏开发环境中的东西,但它没有奏效,图像仍然显示。必须有一些预先编译的资产,但它们存储在哪里,我将如何清除这些资源?谢谢

+0

我不得不跑'耙资产:precompile'我部署一个应用程序的新版本,以测试Linux的虚拟机各一次。尝试运行,看看是否有帮助。 – Zajn

+0

你是通过capistrano部署吗? –

回答

4

通常,如果你的Apache服务器在你的Rails服务器前,你不希望你的应用程序在生产环境中编译资产。您可能希望预编译资产并使Apache为其提供服务。

默认情况下,编译的资产存储在公共/资产中。

所有这一切如何取决于您未共享的配置细节。我建议阅读资产管道导轨指南:

http://guides.rubyonrails.org/asset_pipeline.html

,特别是:

http://guides.rubyonrails.org/asset_pipeline.html#in-production

它heven对如何配置Apache的一些例子。

+0

是的,那是的,我们确实希望有apache为他们服务。但是,我们正面临一个演示期限,性能并不是优先考虑的事情,我只想得到一些本地不运行的东西。任何帮助赞赏。并感谢您的链接。 – dt1000

+0

嗯...如果你只需要一个演示,你可以直接通过瘦服务器或其他导轨服务器直接服务器吗?这可能更容易实现。 (请参阅yfeldblum关于启用资产服务的评论)。 –

0

config/application.rb

config.assets.enabled = true