ransackで検索機能
ransackで検索機能を作成しています!
あたらしい機能つけたりするときは
ネットで検索するのもいいですが
まずはgithubのソースコード見たほうが良いよといわれたので
早速githubみながらやったら
わかりやすすぎて!!!!!
これです♡
で、今回検索機能をつけるにあったて
検索対象の書き方について
ピンと来るまで時間かかって
検索対象の書き方を詳しく書いてるブログとかあんまなかったから
かこうとおもいます。
ちゃんと探したらあるかもですが( ´Д`)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
この場合だと
のみが検索結果に表示されます。
- lt
その属性以下のものを結果として表示
project.search(:price_lt => 1000).result
priceが1000以下のものを表示。
- gt
その属性以上のものを結果として表示
project.search(:price_gt => 1000).result
priceが1000以上のものを表示。
ほかのはここにもわかりやすくのってます!
(途中放棄)
きのうスタバのメロンたべておいしすぎたから
あと一回はたべたい♡