久保清隆のブログ

ライフハック、健康、旅行など、役立つ情報を書きます。

チェックボックスで規約などに同意するかを確認するコード

ウェブサイトなどに登録するページを作る時、入力フォームのほかに、利用規約に同意してもらうことを確認するものを作らなければならない。
そのとき、一般的にチェックボックスを用いるが、これがチェックされているかどうかをvalidateで確認したい。

そのためには、

  • validates_acceptance_of
  • form_tag
  • check_box
  • submit_tag

を利用すればよい。

入力されたデータが保存されるモデルで、

validates_acceptance_of :accept

を記述する。:acceptは名前は何でもよくて、実際にカラムが無くても大丈夫。

ビューでは、例えば

<% form_tag :action=>"pre_signup_confirm",:method=>"POST" do -%>
  <%= text_field :user, :mailaddress %><br />
  利用規約<br />
  ・・・・
  <br />
  <%= check_box :user, :accept %>利用規約に同意する<br />
  <%= submit_tag("確認する") %>
<% end -%>

と記述する。
ここで、:acceptはモデルで記述した名前と同じにする。
:userというのは、コントローラでフォームに入力されたデータを保存する時に用いているインスタンス変数と同じ名前にする。

これで、'確認する'ボタンを押した時、チェックボックスにチェックが入ってなかったらエラーメッセージが出るようになる。
Railsって便利だな。

FC2Blog - 現在アクセスが集中していますを参考にさせてもらった。



お読み頂きありがとうございます。
少しでもお役に立てたらクリックお願いします↓。
ブログランキング・にほんブログ村へにほんブログ村 IT技術ブログへにほんブログ村 IT技術ブログ プログラム・プログラマへにほんブログ村 サラリーマン日記ブログ 戦うサラリーマンへ