生产中的Rails资产图像

问题描述 投票:2回答:1

我发现资产图片有些奇怪的行为

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

Rails 3.1.0.rc6,之后我在托管时更新到rc8,但没有任何反应

也许生产模式会建立一些缓存,这种缓存会永远存在吗?

ruby-on-rails-3 production assets
1个回答
6
投票

可能有不同的地方出错,因此在这里您必须检查一下这些想法:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.