2014-11-05 73 views
0

模型验证我有一个Post模型和评价模型(邮政的has_many评论,评论belongs_to的帖子)轨,从嵌套模式

我想验证我的评价模型中的场,他们只能创建如果/更新注释字段小于2个发布日期字段之间的差异。我如何去实现这一目标?

现在,在我的评论的模式,我有:

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 

任何帮助将不胜感激!

回答

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 
+0

真棒!我调整了一些变量名称,但语法却很有用。谢谢JB! – gitastic 2014-11-05 05:05:27