2013-07-30 14 views
5

プロジェクト名に「Fox」という単語が含まれているプロジェクトモデルからすべてのレコードを取得しようとしています。完全なプロジェクト名がある場合を除きRailsアクティブレコード検索 - 名前に単語が含まれています

@projects = Project.where("project_name like ?", "Brown Fox") 

しかし、私は「フォックス」をINCLUDEすべての名前を返すようにしたい場合は、これは動作しません:私は、アクティブなレコードの検索を行うと、特定のproject_namesを返し、「ブラウンフォックス」のようなことができます'Fox':

@projects = Project.where("project_name like ?", "Fox") 

名前に「Fox」という単語を含むすべてのオブジェクトを返す検索を行うにはどうすればよいですか?あなたのクエリが単語ケースを無視した結果返すようにしたい場合は、あなたは、PostgreSQL ilikeの代わりlikeを使用することができることを

@projects = Project.where("project_name like ?", "%Fox%") 

注:

答えて

8

は、使用してみてください:

variable = "Fox" 
Project.where("project_name like ?", "%#{variable}%") 
+0

これはそれでした。 – JakeTy

0

あなたは、SQL %演算子を使用することができます。

+0

これも機能しました!ありがとう。 – JakeTy

0

あなたはransackを試してみましたか?あなたはそれはあなたが必要なもののために多すぎると思われる場合

を掻き回すを使用すると、

@projects = Project.search(:project_name_cont => "Fox") 

ような何かを行うことができます。あなたは%演算子をMurifoXとして使用することができます

+0

ありがとうございます。私は今、Ransackを探しています。 – JakeTy

関連する問題