Rails生产中的资产图像

Vya*_*nov 2 production assets ruby-on-rails-3

我发现了资产图像的一些奇怪行为

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

Rails 3.1.0.rc6,之后我在主机上更新到rc8但没有任何反应

也许生产模式会构建一些缓存,这仍然是永久的?

mli*_*elt 6

有不同的东西可能会出错,所以这里你需要检查的想法:

  • Rails 3.1中存在一个已知错误,即资产的预编译无法正常工作.请参阅rc6中的升级到Rails 3.1.0,对于带有解决方案的问题,资产预编译失败.
  • 我在为生产创建预编译资产时遇到了问题.以下内容适用于我(修复上述错误后):
    1. 确保您的应用程序未在生产模式下运行.
    2. 打电话bundle exec rake assets:clean.这将清除所有闲置的资源.
    3. bundle exec rake assets:precompile之后打电话.因此,目录/public/assets应填充附加散列的资产(例如,icon_add-96985e087048a8c2e09405494509750d.gif而不是icon-add.gif).
    4. 以生产模式启动服务器.
  • 根据我使用的浏览器,我不得不刷新甚至清除所有缓存.特别是Chrome在缓存资源方面非常讨厌,他不应该缓存.

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