「入会日」が「生年月日」より前の場合、「入会日が無効です」などのエラーメッセージを表示したい(実際には発生しませんが、欲しいです)。
コードで私に提案してください。
「入会日」が「生年月日」より前の場合、「入会日が無効です」などのエラーメッセージを表示したい(実際には発生しませんが、欲しいです)。
コードで私に提案してください。
date_of_birth属性を持つユーザーモデルがあり、参加日はユーザーを保存した日付であり、Active Recordはデータベースに保存する各オブジェクトの属性「created_at」を自動的に作成すると思います。
したがって、date_of_join のように「created_at」と見なすことができます。
次のステップは、次のように検証メソッドをユーザー モデルに追加することです。
class User < ActiveRecord::Base
#attr_accessible :date_of_birth, ( etc ...... )
#.....
#.....
validate :date_of_join_must_be_great_than_birth
#.....
#.....
private
def date_of_join_must_be_great_than_birth
errors.add(:date_of_birth, "date of birth is greater than date of joining" ) unless date_of_birth < created_at
end
end
ユーザーを保存または更新するたびに、検証メソッドが呼び出されます
Rails のフィルター メソッドについても学ぶことができます。これが役立つことを願っています。
これはさまざまな方法で実行できます。このチュートリアルを参照してください。
http://guides.rubyonrails.org/active_record_validations_callbacks.html