0
我不想創建2個Rails應用程序,而是要使用路由約束來分隔這2個應用程序。如何用限制條件限制多條路線?
我有一個博客和幫助部分:
class BlogHostContraint
def self.matches?(request)
request.subdomain = 'blog'
end
end
class HelpHostContraint
def self.matches?(request)
request.subdomain = 'help'
end
end
我想確保所有爲我的博客的路線是BlogConstraint匹配時才能看到,同樣的博客contraint 。
我的意思是,如果我在博客子域中,如果我在URL中添加路由,它不應呈現或與任何幫助子域路由的路由衝突。
Rails.application.routes.draw.do
# blog
get '/' => 'blog#index', constraints: BlogHostContraint
..
# help
get '/' => 'help#index', constraints: HelpHostConstraint
end
我知道如何使用約束上,但只有一個路由或類似資源路線:
資源:用戶,限制:SomeConstraintHere
我怎麼能集團一堆路線連同一個常設,如:
BlogConstraint do
get '..'
get '...'
post '...'
end
這可能嗎?
我必須這樣做的原因之一是我希望生成好的URLs,該URL根據每個區域的博客和幫助開始。
我不想:
help.example.com/help/index help.example.com/help/page/1
我想:
help.example.com/
help.example.com/page/1 # help_controller#page
和相同的博客可能是這樣的:
blog.example.com/
blog.example.com/page/1 # blog_controller#page
我不想要其他建議,如果它再次h美好的網址。