我有一个Post模型和评论模型(Post has_many comments,Comment belongs_to Post)
我想在我的评论模型中验证一个字段,如果评论字段小于2 Post date_fields之间的差异,他们只能创建/更新。我该如何实现这一目标?
现在,在我的评论模型中,我有:
validates :comment_check, presence: true, :numericality => { :greater_than_or_equal_to => 0 }
我只需添加验证即可:less_than_or_equal_to发布日期差异。我在Post模型中也有这个模型方法:
def self.days_diff
(end_date.to_date - start_date.to_date).to_i
end
非常感谢任何帮助!
答案 0 :(得分:1)
在您的评论模型中,您可以通过以下方式进行验证:
validate :comment_date
def comment_date
if self.post.end_date < Time.now or self.post.start_date.to_date > Time.now
self.errors.add(:created_at, "failed to save at the moment")
end
end