【问题标题】:Rails 3.2 precompile compiles image but ActionView does not pull itRails 3.2 预编译编译图像但 ActionView 不拉它
【发布时间】:2014-03-06 22:20:48
【问题描述】:

我正在将 RoR 3.2 应用程序部署到共享服务器。

当我运行rake assets:precompile RAILS_ENV=production 时,我可以在~/public_html/my_app/assets/ 看到我所有的图像都已预编译。

但是当我转到mywebsite.com ActionView 时会抛出错误。生产日志给了我:

ActionView::Template::Error (200/adrap21.png isn't precompiled).

有趣的是,在~/public_html/my_app/assets/200 我可以看到预编译的图像:adrap21-a5f042dd2b89a3d87eba25969495d678.png

我已经多次运行以下之一:

1) rake assets:precompile RAILS_ENV=production

2)RAILS_ENV=production rake assets:precompile

my_app/config/environments/production.rb 我有以下信息:

# Disable Rails's static asset server (Apache or nginx will already do this)
config.serve_static_assets = false

# Compress JavaScripts and CSS
config.assets.compress = true

# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = true

我已将 config.assets.compile 从 false 更改为 true,但没有帮助。

我已阅读相关答案,但其他人的解决方案对我不起作用。

This one 应该是万无一失的。另一个,更具体的是not compiling images,另一个是prevents using config.assets.compile = true

我什至尝试过使用config.assets.precompile += %w[*.png *.jpg *.jpeg *.gif] 的建议,但还不行。图像调用可能有问题吗?是 RoR 3.2 的错误吗?

【问题讨论】:

  • 你是怎么称呼图片的?
  • 这是一个图像调用示例: "no avatar", :class=> "pull-left p_15 mr_25" )...但这不是我的代码。今天早上我访问了这个网站来修复它,它在我没有做任何事情的情况下工作。我认为是 Phusion Passenger 造成了问题。关于托管设置的一些东西。无论如何,谢谢帕里托什。

标签: ruby-on-rails image asset-pipeline


【解决方案1】:

找到问题所在。

需要重新启动 Phusion Passenger 才能使编译的资产正常工作。这就是为什么在使用 Capistrano 时,您需要重新启动服务器以使所有已编译的文件一起工作。

再次感谢帕里托什。我也知道,当你自学编程时,一开始的学习曲线有多慢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 2012-03-26
    相关资源
    最近更新 更多