具有子域Rails应用约束的URL帮助器

时间:2019-07-19 11:11:15

标签: ruby-on-rails url-helper

我的rails应用程序有两个服务器,URL为:

  • staging.subdomain.example.com
  • subdomain.example.com

我的路线如下:

  ['staging.', ''].each do |prefix|
    constraints subdomain: "#{prefix}subdomain" do
      scope module: "subdomain" do
        get "/", to: "pages#home"
        resources :courses, only: [:index, :show]
      end
    end
  end

但是,当我使用url辅助程序时,遇到了问题。它总是返回staging网址。

例如,在生产中:

course_url(132, host: "subdomain.example.com")
=> "http://staging.subdomain.example.com/courses/132"

我认为原因是在路由中,URL帮助程序仅针对staging约束而生成,而不针对其他约束。

$ rate routes
...
courses GET  /courses(.:format)  subdomain/courses#index {:subdomain=>"staging.subdomain"}
        GET  /courses(.:format)  subdomain/courses#index {:subdomain=>"subdomain"}
...

有人有好的解决方案吗?

欢呼

0 个答案:

没有答案