生产中的 Rails 资产镜像

发布于 2024-12-06 06:06:30 字数 297 浏览 0 评论 0原文

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

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

Rails 3.1.0.rc6,之后我在托管上更新到 rc8 但没有发生任何事情

也许生产模式会构建一些缓存,这些缓存会永远保留?

I found some strange behavior of assets images

If I run unicorn in production mode at hosting - /assets/image.png - server give me blank image ie file exist, but size=0 . In same time at localhost I run in unicorn development mode - and all works fine, Then I run webrick at hosting - images are display fine. After that I run unicorn in production mode at localhost and images stops display, then I run unicorn in development images already doesn't work.

Rails 3.1.0.rc6, after that I update to rc8 at hosting but nothing happened

Maybe production mode build some cache, which remains forever?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

星光不落少年眉 2024-12-13 06:06:30

有不同的事情可能会出错,所以这里的想法你必须检查:

  • 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在缓存他不应该缓存的资源方面非常讨厌。

我希望其中的一些想法能够帮助您找到问题的根源。

There are different things that may go wrong, so here the ideas you have to check:

  • There is a known error in Rails 3.1, that the precompilation of assets does not work properly. See Upgrade to Rails 3.1.0 from rc6, asset precompile fails for a question with a solution.
  • I had problems with creating precompiled assets for production. The following worked for me (after fixing the error above):
    1. Ensure that your application is not running in production mode.
    2. Call bundle exec rake assets:clean. This will clean all resources hanging around.
    3. Call bundle exec rake assets:precompile afterwards. As a result, the directory /public/assets should be filled with assets with the hash appended (e.g. icon_add-96985e087048a8c2e09405494509750d.gif instead of icon-add.gif).
    4. Start your server in production mode.
  • Depending on the browser I used, I had to refresh or even clear all caches. Especially Chrome was very nasty in caching resources that he should not cache.

I hope some of the ideas will help you find the source of your problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文