【发布时间】:2023-03-14 16:53:01
【问题描述】:
我是 Rails 新手,正在尝试通过下拉菜单过滤搜索结果。下拉列表是biketype(即'Road'、'Mountain'),它是自行车模型的一个属性。然后我也想按价格排序。
我的索引视图:
<% form_tag(bikes_path, :method => :get) do %>
<%= select_tag( :biketype, options_for_select(Bike::BIKETYPES) )%>
<%= submit_tag "Submit" %>
<% end %>
还有我用于基于位置的搜索的 bikes_controller(使用地理编码器):
def index
@title = "Bikes"
if params[:search].present?
@bikes = Bike.near(params[:search], 50, :order => :distance).paginate(:page => params[:page], :per_page => 9)
else
@bikes = Bike.paginate(:page => params[:page], :per_page => 9)
end
end
如果您对如何更新我的控制器和模型以获取过滤器和排序有任何建议,那就太好了。我被推荐了范围,但不确定如何实现它们。非常感谢,威尔。
【问题讨论】:
-
只是好奇,你还记得
Bike::BIKETYPES是在哪里以及如何定义的吗?我也在尝试添加一个下拉列表来过滤搜索结果。
标签: ruby-on-rails search filter scope drop-down-menu