我想使用兩個select_tag
s進行搜索。實際上,這一切都單獨運行良好,但我想在第一個/第二個標籤中選擇一個選項,然後開始搜索,然後 - 在第二個/第一個標籤中選擇一個選項,並查看更詳細的搜索結果。現在,我有:使用2 select_tag進行導軌搜索
產品型號:
class Product < ApplicationRecord
belongs_to :position
has_and_belongs_to_many :size
end
尺寸型號:
class Size < ApplicationRecord
has_and_belongs_to_many :products
has_many :items
end
位置型號:
class Position < ApplicationRecord
has_many :products
end
我application.html.erb:
<div class="container">
<div class="row text-center">
<div class="col-sm-6">
<%= form_tag(products_path, method: 'GET', remote: true) do %>
<%= select_tag 'size_id', options_from_collection_for_select(Size.all, 'id', 'title'),
onchange: ('this.form.submit();'), class: 'form-control', id: 'filter1', include_blank: true %>
<% end %>
</div>
<div class="col-sm-6">
<%= form_tag(products_path, method: 'GET') do %>
<%= select_tag 'position_id', options_from_collection_for_select(Position.all, 'id', 'title'),
onchange: ('this.form.submit();'), class: 'form-control', id: 'filter2', include_blank: true %>
<% end %>
</div>
</div>
</div>
而一個products_controller:
class ProductsController < ApplicationController
def index
if params[:position_id]
position = Position.find(params[:position_id])
@products = position.products
respond_to do |format|
format.html
format.json { render json: @products }
end
elsif params[:size_id]
size = Size.find(params[:size_id])
@products = size.products
respond_to do |format|
format.html
format.json { render json: @products }
end
else
@products = Product.all
respond_to do |format|
format.html
format.json { render json: @products }
end
end
end
end
所以,我怎樣才能做一個搜索,不會單獨工作?謝謝你。