我有一个Rails 4.2应用程序,其中包含一组约束到子域的路由。
constraints subdomain: 'admin' do
# ...
end
但是,我不确定如何指定多个子域(admin
和admin.staging
)。如何指定多个子域?
答案 0 :(得分:6)
即使没有记录,您也可以传递一个子域数组:
constraints subdomain: ['admin', 'admin.staging'] do
# ...
end
答案 1 :(得分:5)
您可以使用正则表达式,例如:
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