2012-02-18 67 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