我定义了以下路线:
constraints( subdomain: "abc" ) do
resources :sites do
resources :pages
end
resources :domains
end
所以我可以像这样访问一个页面:abc.example.com/sites/1/pages/2
我想将show
PagesController
a-different-domain.com/2
行动的路由为可访问,如下所示:domain
我有很多域,一个域可以有很多页面。域名为%w(domains).each do |d|
constraints( host: d.domain ) do
get "/*structure" => "pages/dashboard/sites/pages#show"
end
end
列。这就是我认为可行的方法:
ANDROID_HOME
我收到以下错误:
未定义的方法`域' for" domains":String(NoMethodError)
你怎么能用Rails做到这一点?
答案 0 :(得分:1)
您的代码存在的问题是%w(domains)
是["domains"]
你可以这样做:
# routes.rb
Domain.find_each do |d|
constraints(subdomain: d.domain) do
get "/*structure" => "pages/dashboard/sites/pages#show"
end
end
有关详细信息:http://edgeguides.rubyonrails.org/routing.html#request-based-constraints