我就像这样做了我的路由。但如果类型是空的呢?
是不是要重定向到example.com/shops/newest_first//california?
如何解决这种路由和参数问题?
的routes.rb
match 'shops/:sort/:genre/:area', :to => 'shops#index'
查看
<%= form_tag shops_path, :method => :get do %>
<%= select_tag :sort, options_from_collection_for_select(Sort.all, 'id', 'name', params[:sort]), :prompt => "Newest first" %>
<%= select_tag :genre, options_from_collection_for_select(Genre.all, 'id', 'name', params[:genre]), :prompt => "all" %>
<%= select_tag :area, options_from_collection_for_select(Area.all, 'id', 'name', params[:area]), :prompt => "all" %>
<% end %>
另一种观点
答案 0 :(得分:1)
我会考虑将GET参数用于区域和排序等事情,因为您正在过滤其他资源的索引。您也可以查看指南中Dynamic Segments上的部分,但这对中间的空片段没有帮助。