如果“加入日期”早于“出生日期”,我想显示一条错误消息,例如“加入日期无效”(它不会真正发生......但我想要它)。
请用一段代码建议我。
如果“加入日期”早于“出生日期”,我想显示一条错误消息,例如“加入日期无效”(它不会真正发生......但我想要它)。
请用一段代码建议我。
我认为您有一个带有 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
每次保存或更新用户时,都会调用 validate 方法
您还可以了解rails中的过滤方法,希望对您有所帮助
您可以通过多种方式做到这一点。只需参考本教程
http://guides.rubyonrails.org/active_record_validations_callbacks.html