我正在使用多租户和公寓宝石构建应用程序 验证电子邮件后,用户将被重定向到其子域
我想要做的是为单个子域上的管理员提供帖子登录仪表板,让我们说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
答案 0 :(得分:3)
这样做的一种方法是将业务逻辑分离为面向公众和面向管理的属性。如果你这样做,那么你可以轻松实现你想要的。另一种方法是创建一个多引擎rails应用程序,您可以将管理员和公共事物保存在单独的引擎中。在我看来,这两种方式都是可以接受的。如果您想了解有关多引擎应用程序的更多信息,那么您可以阅读这个很棒的示例