テーブル内の3つのランクが異なる列のランクを選択する簡単なレール検索フォームがあります。しかし、私は複数のランクを伸ばすことはできません。テーブル内の複数の列のRails検索フォーム
表食べ物:VALUE1、rank_value1、値2、rank_value2、VALUE3、rank_value3
ビュー/foods/index.html:
<%= form_tag foods_path, :method => 'get' do %>
<p>
rank_value1
<%= text_field_tag :rvalue1, params[:rvalue1] %>
<%= submit_tag "Search", :name => nil %>
</p>
<% end %>
モデルfood.rb:
def self.search(search)
if search
Food.where(["rank_value1= ?", "#{search}"])
else
Food.all
end
end
コントローラfoods_controller.rb:
def index
@foods = Food.search(params[:rvalue1])
end
2つのランクを拡張するためには、私は以下のコードを試してみましたが、それはうまくいきませんでした。
ビュー/foods/index.html:
<%= form_tag foods_path, :method => 'get' do %>
<p>
rank_value1
<%= text_field_tag :rvalue1, params[:rvalue1] %>
<%= text_field_tag :rvalue2, params[:rvalue2] %>
<%= submit_tag "Search", :name => nil %>
</p>
<% end %>
モデルfood.rb:
def self.search(search1,search2)
if search
Food.where(["rank_value1= ? and rank_value2=?", "#{search1}", "# {search2}"])
else
Food.all
end
end
コントローラーfoods_controller.rb:
def index
@foods = Food.search(params[:rvalue1], params[:rvalue2])
end
複数の列でデータを検索する際の提案はありますか?