Ruby on rails 在Rails的子域中提供仪表板

Ruby on rails 在Rails的子域中提供仪表板,ruby-on-rails,subdomain,Ruby On Rails,Subdomain,我正在使用multitenancy和公寓gem构建一个应用程序 验证电子邮件后,用户将被重定向到其子域 我想做的是在单个子域上为管理员提供登录后仪表板,比如app.domain.com,而不是他们在注册时请求的子域 因此,他们的仪表板将位于app.domain.com,他们的主应用程序将位于注册时选择的子域 有人能给我指一下正确的方向吗 这是我目前在路线上的做法 require 'subdomain' constraints(Domain) do root :to => "pa

我正在使用multitenancy和公寓gem构建一个应用程序 验证电子邮件后,用户将被重定向到其子域

我想做的是在单个子域上为管理员提供登录后仪表板,比如app.domain.com,而不是他们在注册时请求的子域

因此,他们的仪表板将位于app.domain.com,他们的主应用程序将位于注册时选择的子域

有人能给我指一下正确的方向吗

这是我目前在路线上的做法

require 'subdomain'
  constraints(Domain) do
    root :to => "pages#home"
  end

  constraints(Subdomain) do
    root :to => "pages#store"
  end
lib/subdomain.rb

class Subdomain
  def self.matches?(request)
    request.subdomain.present? && request.subdomain != "www"
  end
end

class Domain
  def self.matches?(request)
    !request.subdomain.present? or request.subdomain == "www"
  end
end

实现这一点的一种方法是将业务逻辑分离为面向公共和面向管理的属性。如果你这样做,那么你就可以很容易地实现你想要的。另一种方法是创建一个多引擎rails应用程序,您可以将管理和公共内容保存在单独的引擎中。依我拙见,这两种方式都是可以接受的。如果您想了解更多关于多引擎应用程序的信息,那么您可以阅读这个伟大的示例


正是我想要的。我已将面向管理和面向公共的属性分开。工作就像一个符咒:)