2012-02-22 17 views
1

1つのモデルとビューで3つの個別の検索フォームを実行できますか?複数の検索フォーム

<%= form_tag games_path, :method => 'get' do %> 
    <%= text_field_tag :search, params[:search] %> 
    <%= submit_tag "Search", :game_name => nil %> 
<% end %> 

と私のモデルでは、以下:私は私の見解では、次のしている現状では

def self.search(search) 
if search 
    find(:all, :conditions => ['game_name LIKE ? OR genre LIKE ? OR console LIKE ?', "%# {search}%", "%#{search}%", "%#{search}%"]) 
else 
    find(:all) 
end 
end 

私は何をしたいように三つの部分にでモデル別でありますそれはすべての形ではありません。

def self.search(search) 
    if search 
    find(:all, :conditions => ['genre LIKE ?', "%#{search}%"]) 
    else 
    find(:all) 
    end 
end 

def self.search(search) 
    if search 
    find(:all, :conditions => ['console LIKE ?', "%#{search}%"]) 
    else 
    find(:all) 
    end 
end 

def self.search(search) 
    if search 
    find(:all, :conditions => ['game_name LIKE ?', "%#{search}%") 
    else 
    find(:all) 
    end 
end 

次に、私の上記のビューコードのx3を持っているので、名前とコンソールとジャンルの検索が1つありますか?これをどうやってやりますか?私はこれが理にかなってほしい。

答えて

0

この種のものはすぐに混乱します。このような理由から、meta_searchのような宝石の助けを借りて、より保守的な解決策をとるべきです。