2011-09-26 239 views
2

图片,我发现资产图像的一些奇怪的行为Rails的资产在生产

如果我在托管运行在生产模式麒麟 - /assets/image.png - 服务器给我的空白图像即文件存在,但大小= 0 。在同一时间在本地主机我运行在独角兽开发模式 - 并且一切正常,然后我运行webrick托管 - 图像显示正常。之后,我在localhost的生产模式下运行独角兽,图像停止显示,然后我在开发图像中运行独角兽已经不起作用。

Rails的3.1.0.rc6,后托管,但没有,我更新RC8发生

也许生产模式建立一些缓存,这仍然是永远不会消失?

+0

尝试对Rake资产进行预编译 – Nicklasos

+0

您可以添加以下信息:在开发和生产模式下配置资产吗? – mliebelt

回答

6

有不同的事情,可能会出问题,所以在这里你有想法,以检查:

  • 没有用Rails 3.1的已知错误,即资产的预编译不能正常工作。有关解决方案的问题,请参见Upgrade to Rails 3.1.0 from rc6, asset precompile fails
  • 我在创建用于生产的预编译资产时遇到了问题。以下工作适用于我(修复上述错误之后):
    1. 确保您的应用程序未在生产模式下运行。
    2. 致电bundle exec rake assets:clean。这将清除所有的资源。
    3. 事后致电bundle exec rake assets:precompile。因此,目录/public/assets应填充附加散列的资产(例如icon_add-96985e087048a8c2e09405494509750d.gif而不是icon-add.gif)。
    4. 以生产模式启动服务器。
  • 根据我使用的浏览器,我必须刷新或甚至清除所有缓存。特别是Chrome在高速缓存资源中非常讨厌,他不应该缓存。

我希望有些想法可以帮助您找到问题的根源。