ぱーりー on rails

たまごにひびすらわれてない

ransackで検索機能

ransackで検索機能を作成しています!

あたらしい機能つけたりするときは
ネットで検索するのもいいですが
まずはgithubソースコード見たほうが良いよといわれたので
早速githubみながらやったら
わかりやすすぎて!!!!!

github.com

これです♡



で、今回検索機能をつけるにあったて
検索対象の書き方について
ピンと来るまで時間かかって
検索対象の書き方を詳しく書いてるブログとかあんまなかったから
かこうとおもいます。
ちゃんと探したらあるかもですが( ´Д`)y━・~~




♫検索対象のかきかた

:属性_predicate
のような書き方をします。

そのpredicateについての紹介が今回のメイン!



  • cont
Project.search(:name_cont => 'hoge').result


これはprojectモデルの属性の中の「name」を含む(cont)もの(:name_cont)を結果として表示させる。
例えばこの場合だったらProjectのnameが

hoge
hogehoge
hoge1

などがあったとしたら、結果として表示されます。



  • eq

:name_eqとすることでその属性(今回ならname)と等しいものが結果として表示される。

Project.search(:name_eq => 'hoge').result

この場合だと

hoge

のみが検索結果に表示されます。

  • lt

その属性以下のものを結果として表示

project.search(:price_lt => 1000).result

priceが1000以下のものを表示。


  • gt

その属性以上のものを結果として表示

project.search(:price_gt => 1000).result

priceが1000以上のものを表示。


ほかのはここにもわかりやすくのってます!
(途中放棄)

github.com




きのうスタバのメロンたべておいしすぎたから
あと一回はたべたい♡