2011-05-09 64 views
0

我在我的网站的标题搜索表单,像这样:使用Rails网址助手

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

此工程时,当前页面的控制器作用域或命名空间,除了罚款 - 不知道这。例如,'/ users/sign_in'页面由Devise控制,其控制器位于Devise命名空间内。

在该页面上,我收到一条错误消息,指出该操作在Devise :: Listings控制器下不存在。 (当然不会,因为清单控制器不在Devise名称空间中。)

如何确保url助手不会自动为当前页面控制器的名称空间加上前缀?

回答

2

尝试使用命名路线。

的config/routes.rb中

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

查看

=semantic_form_for :search, :url => listings_search_path do