2016-12-23 6 views
1

テーブル内の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 

複数の列でデータを検索する際の提案はありますか?

答えて

関連する問題