2014-11-05 77 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