2012-02-18 68 views
1

我的應用程序有關路由的問題。在生產中的根URL是example.com/xyz/開發/生產環境中根URL的應用程序的路由問題

和很多images_paths都設置爲../xyz/assets/header.jpg

在發展我收到路由錯誤,因爲我的主人是localhost:3000。我試圖實現的是類似localhost:3000/xyz,所以路由路徑再次適合。生產線應保持不變。在開發環境

當前的錯誤消息是:

ActionController::RoutingError (No route matches [GET] "/xyz/assets/header.jpg"): 

廣東話我用這樣的事情在我的application_controller?

Rails.application.routes.default_url_options[:host]= 'localhost:3000/xyz' 

THX的提醒

回答

1

您可以構建具有類似的文件路徑,

@header_image_file = File.join(RAILS_ROOT, 'xyz', 'assets', 'header.jpg') 

其實,RAILS_ROOT是因爲Rails 3中棄用,因此,您現在應該使用,

@header_image_file = File.join(Rails.root.to_s, 'xyz', 'assets', 'header.jpg') 

祝你好運!

+1

此答案是對正在編輯問題之前提出的原始問題的回覆。 @DannyRe - 看起來你已經在這個足夠長的時間內知道,如果你回去改變問題,一旦你有了答案,這個網站將無法正常工作。 – Snips 2012-02-18 10:18:24