2014-03-06 82 views
0

我正在将RoR 3.2应用程序部署到共享服务器。Rails 3.2预编译编译映像,但ActionView不支持它

当我运行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

at 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的错误?

+0

你是怎么称呼图像的? –

+0

这是一个图像调用的例子:<%= image_tag(“200/adrap21.png”,:alt =>“no avatar”,:class =>“pull-left p_15 mr_25”)...但是不是我的代码。今天早上我访问了该网站来解决这个问题,而且这个工作没有我做任何事情。我认为这是造成问题的Phusion Passenger。托管设置的东西。无论如何,Paritosh。 – Dieglock

回答

0

找到问题所在。

Phusion乘客需要重新启动编译资产才能正常工作。这就是为什么使用Capistrano,您需要重新启动服务器,以便所有编译的内容一起工作。

再次感谢Paritosh。我也知道,当你学习自己编程时,开始时的学习曲线有多慢。

相关问题