我的应用已将列表嵌套在类别中。
当我使用此表单处于特定类别时,我可以搜索所有列表:
<%= form_tag category_listings_path(@category), method: :get do %>
<p>
<%= text_field_tag :search, params[:search] %>
<%= submit_tag 'Search', name: nil %>
</p>
<% end %>
如您所见,我必须向category_listings_path
发出请求并传递当前Category
。
但是,当我想将搜索栏放在没有Category
的页面上时,此方法会失败!
如何在不需要传递Listing
的情况下搜索所有Category
?
答案 0 :(得分:1)
根据您所写的内容,我猜测您的路线如下:
resources :categories do
resources :listings
end
这意味着您列出的所有路线都需要类别ID。如果您想要所有商家信息的路径,无论其类别如何,请添加:
resources :listings, only: [:index]
到您的路线。然后,您可以拥有一个搜索到listings_path
的表单(这是上面路由创建的路径),并且您不需要类别ID。