我正在开发一个Rails 4应用程序。该应用程序的一部分是必须从单独的域访问的客户门户。
导航到domain.com/cp
,我的一切工作正常。路由使用命名空间控制器:
namespace :cp do
get :dashboard, to: 'dashboard#index', path: ''
...
end
如何设置DNS记录并更改路由定义,以便其他域cpdomain.com
正确指向domain.com/cp
(无重定向)。
感谢。
答案 0 :(得分:4)
这个答案对于铁路路线问题非常有用:
Rails routing to handle multiple domains on single application
缩短:
1)在lib / domain_constraint.rb中定义自定义约束类:
class DomainConstraint
def initialize(domain)
@domains = [domain].flatten
end
def matches?(request)
@domains.include? request.domain
end
end
2)使用新的块语法
在路由中使用该类constraints DomainConstraint.new('mydomain.com') do
root :to => 'mydomain#index'
end
root :to => 'main#index'
或旧式选项语法
root :to => 'mydomain#index', :constraints => DomainConstraint.new('mydomain.com')