読者です 読者をやめる 読者になる 読者になる

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

プログラミングとウェブ解析をやっています。Googleアナリティクス好きなRuby on Rails エンジニアです!

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

Rails

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

以下のような通常のタグでやると【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:)

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