当前位置 : 主页 > 编程语言 > ruby >

ruby-on-rails – 如何根据子域数组约束Rails路由?

来源:互联网 收集:自由互联 发布时间:2021-06-23
我有一个Rails 4.2应用程序,其中包含一组约束到子域的路由. constraints subdomain: 'admin' do # ...end 但是,我不确定如何指定多个子域(admin和admin.staging).如何指定多个子域? 你可以使用正则表达
我有一个Rails 4.2应用程序,其中包含一组约束到子域的路由.

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

您可以在此处阅读有关约束的文档:http://api.rubyonrails.org/classes/ActionDispatch/Routing/Mapper/Scoping.html#method-i-constraints

网友评论