グロースエンジニアのブログ

Ruby on Rails エンジニアです!開発に当たって勉強したことをまとめていこうと思います!

form内のcheck_boxで複数の値を取ってくる 〜Ruby on Rails4〜

男女のチェックボックスを作って、その値によって検索をしたいと思っていました。

以下のような通常のタグでやると【0,1】の値が返ってきて、データの処理に困ったのでメモしておきます。

<%= f.check_box :sex, :value => '男性' %>
<%= f.check_box :sex, :value => '女性' %>

上記だとエラーは出ないんですが、【:sex】という値に【0,1】が入って、どっちが男女なのかわからなくなってしまいました。

form内でcheckboxを使うときは通常のHTMLタグで 

いろいろ調べていくと、form内に通常のHTMLタグで指定してやれば配列で値を取ってこれるので取ってこれるので楽でした。

<label><input name="sex[]" type="checkbox" value="1" />男性</label><br />
<label><input name="sex[]" type="checkbox" value="2" />女性</label><br />

上記だと、【params[:sex]】に配列としてチェックした値(Valueに指定した値)が入るので、そのままモデルで使えます!

@users = User.where(:sex => params[:sex:)

これでさっくり検索できるので楽でした!