我有一个Rails 4.2应用程序和一组限制到一个子域的路线。如何基于子域数组约束Rails路由?
constraints subdomain: 'admin' do
# ...
end
但是,我不知道如何指定多个子域(包括admin
和admin.staging
)。我怎样才能指定多个子域名?
我有一个Rails 4.2应用程序和一组限制到一个子域的路线。如何基于子域数组约束Rails路由?
constraints subdomain: 'admin' do
# ...
end
但是,我不知道如何指定多个子域(包括admin
和admin.staging
)。我怎样才能指定多个子域名?
您可以使用正则表达式,如:
constraints subdomain: /^admin|admin\.staging$/ do
# ...
end
......或者......
constraints subdomain: /^admin(\.staging)?$/ do
# ...
end
您还可以使用lambda:
constraints subdomain: ->(req) { %w[ admin admin.staging ].include?(req.subdomain) } do
# ...
end
你可以请在此处阅读constraints
的文档:http://api.rubyonrails.org/classes/ActionDispatch/Routing/Mapper/Scoping.html#method-i-constraints
即使没有记录,您也可以传递一组子域:
constraints subdomain: ['admin', 'admin.staging'] do
# ...
end