Использование Rails Url Helper - PullRequest
0 голосов
/ 09 мая 2011

У меня есть поисковая форма в заголовке моего сайта, например, такая:

=semantic_form_for :search, :url=>{:controller=>:listings,:action=>:search} do
...

Это прекрасно работает, кроме случаев, когда контроллер для текущей страницы ограничен или имеет пространство имен - не уверен, какой именно.Например, страница '/ users / sign_in' управляется Devise, а ее контроллер находится внутри пространства имен Devise.

На этой странице я получаю сообщение об ошибке, которое указывает, что действие не существует под контроллером Devise :: Listings.(Конечно, это не так, потому что контроллер листингов не находится в пространстве имен Devise.)

Как мне убедиться, что помощник по URL не автоматически префиксирует пространство имен контроллера для текущей страницы?

1 Ответ

2 голосов
/ 09 мая 2011

Попробуйте использовать именованный маршрут.

config / rout.rb

controller 'listings' do
  get 'search', :as => :listings_search
end

Просмотр

=semantic_form_for :search, :url => listings_search_path do
...