使用 Rails URL 帮助程序



>我的网站标题中有一个搜索表单,如下所示:

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

这工作正常,除非当前页面的控制器是作用域或命名空间 - 不确定哪个。例如,'/users/sign_in' 页面由 Devise 控制,其控制器位于 Devise 命名空间内。

在该页面上,我收到一条错误消息,指示该操作在 Devise::列表控制器下不存在。(当然不是,因为列表控制器不在 Devise 命名空间中。

如何确保 url 帮助程序不会自动为当前页面的控制器命名空间添加前缀?

尝试使用命名路由。

config/routes.rb

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

视图

=semantic_form_for :search, :url => listings_search_path do

相关内容

  • 没有找到相关文章

最新更新