请参阅原始问题Changing the base URL for Rails 3 development。我的应用程序必须在/a/special/route
与主机相关的位置运行。我使用了适用于视图的地图解决方案。
在config.ru中:
map '/mydepartment' do
run Myapp::Application
end
(范围答案不起作用。我得到主要对象的未定义方法范围)
但资产没有像评论所示那样得到解决。我尝试使用一堆不同的前缀无济于事:
1. config.assets.prefix = '/a/special/route/assets'
ActionController::RoutingError (No route matches [GET] "/assets/application.js"):
config.assets.prefix = '/a/special/route/'
ActionController :: RoutingError(没有路由匹配[GET]“/paginate.js”)
使用范围:
范围'/ a / special / route /'做
资源:渠道
端
undefined method 'scope' for main:Object (NoMethodError)
有没有人有线索?
答案 0 :(得分:0)
@tagCincy不,我没有。因此,当我在Rails.application.routes.draw
内正确使用范围时,应用程序找不到任何模板....
无论如何,我的资产问题似乎比我想象的要复杂得多。我们使用Varnish在another-hostname.com/a/special/route
处投放应用。资产请求相对于another-hostname.com/assets/
,而位于actual-hostname.com/assets/
。所以我在application.rb中使用它作为黑客修复:config.action_controller.asset_host = "actual-hostname.com"