検索フォームを作るにあたってransackを使ったら非常に便利でしたというお話
いやー最近まんぼうよく死んでますね。
ということで、お仕事で検索機能を作りたくて twitter につぶやいたら @patorash さんに ransack という gem を教えてもらって素直に使ってみました。
@kamip1230 ransackを使うと色々捗りますよ。
— 尾古 豊明(パトラッシュ) (@patorash) 2014, 6月 10
使い方は以下でわかるのでわからなくなったら見るといいです。説明とか出来ないので見るといいですうん。
Rails - Ransackのススメ - Qiita
Basic Searching · activerecord-hackery/ransack Wiki · GitHub
ちょっとタグをカスタマイズしたいときは radio_button_tag だったら以下のように ransack が動作する key(以下の場合は params['q']['hoge_eq']) で post すればちゃんと動きます。controller でごにょごにょするのはめんどくさいのでこんな感じがいいかなーと。
radio_button_tag_c params, :hoge_eq, '1', true
def radio_button_tag_c(params, name, value, default_checked=false) check_flag = params.key?('q') && params['q'].key?(name) && params['q'][name] == value ? true : false check_flag = true if default_checked && params.key?('q') == false radio_button_tag "q[#{name}]", value, check_flag end
そもそも radio_button_tag どうやって書くねんって調べまくったメモでした。
ソースが長いのでもっと短くならないですかねー (((((((((((っ・ω・)っ ブーン
いやーそれにしても便利だなー。ほんと捗る。オレオレ糞コードかくところでした。ぱとさんありがとうございました!