使用map(Rails)更改基本URL后无法找到资产

时间:2014-12-16 17:12:44

标签: ruby-on-rails asset-pipeline base-url

请参阅原始问题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"): 
  1. config.assets.prefix = '/a/special/route/'

    ActionController :: RoutingError(没有路由匹配[GET]“/paginate.js”)

  2. 使用范围:

    范围'/ a / special / route /'做

    资源:渠道

  3. undefined method 'scope' for main:Object (NoMethodError)

    有没有人有线索?

1 个答案:

答案 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"