fc2ブログ

2023.09 «  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 - - - - » 2023.11
TOP > validates_acceptance_of

 ← find_by_ とか find_all_by_ とかが真新しい。プレースホルダーのことも触れてます! | TOP | validates_uniqueness_of はなんかスゴい

validates_acceptance_of 

モデル model ファイルの中で、validates_acceptance_of を使って、1つのチェックボックス checkbox がチェックされているかどうかを調べることができます。

例えば、なんかの入力フォームがあって、最後に規約に同意しますか?みたいなチェックボックスがあって、それがチェックされていないと入力フォームが送信されない、なーんていうことをしたい場合のチェックの仕方を書いてみます。

たとえば、モデルファイル名が 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 だけの定義で十分なことが分かり、書き直しました。

【広告】

[2007.08.04(Sat) 17:41] RubyOnRails(Model)Trackback(0) | Comments(0)
↑TOPへ

 ← find_by_ とか find_all_by_ とかが真新しい。プレースホルダーのことも触れてます! | TOP | validates_uniqueness_of はなんかスゴい

COMMENT

COMMENT POST















管理者にだけ表示

 ← find_by_ とか find_all_by_ とかが真新しい。プレースホルダーのことも触れてます! | TOP | validates_uniqueness_of はなんかスゴい