validates_acceptance_of
モデル model ファイルの中で、validates_acceptance_of を使って、1つのチェックボックス checkbox がチェックされているかどうかを調べることができます。
例えば、なんかの入力フォームがあって、最後に規約に同意しますか?みたいなチェックボックスがあって、それがチェックされていないと入力フォームが送信されない、なーんていうことをしたい場合のチェックの仕方を書いてみます。
たとえば、モデルファイル名が honyararamodel.rb だった場合、
と書きます。
じゃあ、そん時の view ファイルはどうなっているか、というと、
だいたいこういう風になっていると思います。
validate_acceptance_of で指定された値は、honyararamodels テーブルとは全く無関係になります。
今回の例ですと、honyararamodels テーブルに、douisuru カラムがなくても、honyararamodel.rb モデルファイルの中で、あたかも douisuru カラムが存在するかのようにバリデーションを行うことができますし、douisuru チェックボックスの値を、honyararamodels テーブルに保存しません。スゴイナー。
[07/10/04]改訂
validate_acceptance_of と一緒に attr_accessor を定義すると書いていましたが、validate_acceptance_of だけの定義で十分なことが分かり、書き直しました。
【広告】
例えば、なんかの入力フォームがあって、最後に規約に同意しますか?みたいなチェックボックスがあって、それがチェックされていないと入力フォームが送信されない、なーんていうことをしたい場合のチェックの仕方を書いてみます。
たとえば、モデルファイル名が honyararamodel.rb だった場合、
validate_acceptance_of :douisuru
と書きます。
じゃあ、そん時の view ファイルはどうなっているか、というと、
<% form_for :honyararamodel, @honyararamodel do |form| %>
名前を入れてください <%= form.text_field :user_name %><br>
規約に同意しますか? <%= form.check_box :douisuru %><br>
<%= submit_tag "送信する" %><br>
<% end %>
だいたいこういう風になっていると思います。
validate_acceptance_of で指定された値は、honyararamodels テーブルとは全く無関係になります。
今回の例ですと、honyararamodels テーブルに、douisuru カラムがなくても、honyararamodel.rb モデルファイルの中で、あたかも douisuru カラムが存在するかのようにバリデーションを行うことができますし、douisuru チェックボックスの値を、honyararamodels テーブルに保存しません。スゴイナー。
[07/10/04]改訂
validate_acceptance_of と一緒に attr_accessor を定義すると書いていましたが、validate_acceptance_of だけの定義で十分なことが分かり、書き直しました。
【広告】