【问题标题】:Separate Domain for Namespaced Routes in Rails 4Rails 4 中命名空间路由的独立域
【发布时间】:2014-06-09 14:12:32
【问题描述】:

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

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

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

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

谢谢。

【问题讨论】:

  • 哪个是rails相关问题?

标签: ruby-on-rails ruby-on-rails-4


【解决方案1】:

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

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')

【讨论】:

    猜你喜欢
    • 2017-11-09
    • 2022-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多