У меня проблемы с маршрутизацией в ruby на рельсах. У меня одинаковый формат URL на разных контроллерах, и я пытаюсь отправить параметры на site controller
, но вместо этого он идет на pages controller
. Любая помощь?
Route.rb
resources :sites, :path => '', :except => [:index] do
resources :pages, :path => '' do
end
end
Когда я запускаю команду rails routes
, я получаю что-то похожее на:
site_pages GET /:site_id(.:format) pages#index
site GET /:id(.:format) sites#show
View
<%= link_to 'GO', site_path(site) %>
Этот код должен идти к site#show
, но он идет к pages#index
и выдает следующее сообщение об ошибке:
NoMethodError in PagesController#index
undefined method `site_id' for nil:NilClass
Parameters:
{"site_id"=>"site A"}
Я пробовал:
<%= link_to '', site_path(site), :controller => "sites", :action => "show"%>
<%= link_to '', site_path(id: site.id)%>
но это не работает. Любая помощь будет очень признателен