我有最简单的 Rails 应用程序,带有脚手架帐篷
这是我的控制器#index
def index
@tents = Tent
@tents = @tents.where(:brand => params[:brand]) if params[:brand]
@tents = @tents.where(:season => params[:season]) if params[:season]
end
视图也标准,由脚手架生成
在这里搜索女巫应该过滤数据
= form_tag tents_path, method: :get do
= label_tag "manufacturer"
= select_tag :brand, options_for_select(...), include_blank: true
= label_tag "seasons"
- Tent.pluck(:season).each do |season|
=check_box_tag 'season', season
=h season
= submit_tag 'Submit'
问题1:
当我提交时,未选择参数(选择或 checl_boxes)我不想发送此参数,但它们以空的形式发送
GET /tents?utf8=...&brand=&season=&commit=Submit
问题2:
当我检查多个复选框时,获取请求类似于
GET /tents?utf8=...&brand=Brand
&季节=4&季节=3&commit=Submit
在此之后,我希望将为这两个值选择数据,但控制器预计这两个值都在该字段中,并返回零结果
有什么建议吗?
更新
可能我的问题在 railscasts-111 (高级搜索表单)中解决了