Rails 4 中命名空间路由的单独域

2023-12-05

我正在开发 Rails 4 应用程序。该应用程序的一部分是客户门户,必须从单独的域访问。

通过导航到,我一切正常domain.com/cp。路由使用命名空间控制器:

namespace :cp do
    get :dashboard, to: 'dashboard#index', path: ''
    ...
end

我应该如何设置 DNS 记录并更改路由定义,以便另一个域cpdomain.com指着domain.com/cp正确(无重定向)。

Thanks.


这个答案对于铁路路线问题很有用:

Rails 路由可在单个应用程序上处理多个域

缩短:

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')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Rails 4 中命名空间路由的单独域 的相关文章

随机推荐