我有一個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