我想创建一个动态路由子域和命名空间之间进行切换,这样如何动态地在轨道路线
https://subdomain.mysite.me/admin
https://mysite.me/subdomain/admin
我可以把我的routes
为subdomain
约束或namespace
,但我不知道如何使它们都可用。
我想创建一个动态路由子域和命名空间之间进行切换,这样如何动态地在轨道路线
https://subdomain.mysite.me/admin
https://mysite.me/subdomain/admin
我可以把我的routes
为subdomain
约束或namespace
,但我不知道如何使它们都可用。
你只是检查this
设置我的Rails应用程序中使用自定义子域下面由Ryan贝茨这真棒RailsCast教程。用户可以访问company.lvh.me:3000并查看其所有相关信息。现在,我想在自定义子域的前面添加一个管理子域(admin.company.lvh.me:3000)。
这个想法是,我有特殊的管理员为每个博客与特殊的控制器/意见。因此,如果将admin添加到公司子域的前面,则rails将路由到app/controllers/admin/blogs_controller.rb并显示app/views/admin/blogs/show.html.erb。
我用管理员命名空间和一些我过去的Rails应用设置为一个子域,但是当我尝试在这里我还需要第二子域是动态的:
namespace :admin, path: '/', constraints: { subdomain: 'admin.DYNAMIC' } do
match '/', to: 'blogs#show', via: 'get'
end
所以,如果类型admin.company在子域约束中,它的作用就像一个魅力,但如何使它动态?我没有在路线文件中使它变成动态的('admin。'+ Subdomain等),这使我想到:我可以使用Ryan Bates的Subdomain类吗?
namespace :admin, path: '/', constraints: { subdomain: Subdomain } do
match '/', to: 'blogs#show', via: 'get'
end
class Subdomain
def self.matches?(request)
request.subdomain.present? && request.subdomain != "www"
end
end
Relevant Routes
Prefix Verb URI Pattern Controller#action
admin GET / admin/blogs#show