2014-03-06 86 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。我也知道,當你學習自己編程時,開始時的學習曲線有多慢。

相關問題