這是我的模型:爲什麼我的自定義驗證在Rails中運行?
class Goal < ActiveRecord::Base
belongs_to :user
validate :progress_is_less_than_max
private
def progress_is_less_than_max
if progress > max
errors.add(:progress, "should be less than max")
end
end
end
如果我進入控制檯,並做
some_user.goals.create! :name => 'test', :max => 10, :progress => 15, :unit => 'stuff'
它保存得很好,沒有任何錯誤。我不正確的是什麼?
請問您的用戶'has_many'目標是什麼?也就是說,你是否明確指定了與用戶模型中的'has_many'方法的關聯? – maprihoda
嘗試創建(不創建!) – Dorian
@Dorian,創建並保存!拋出預期的錯誤。謝謝......以及有多混亂。 – Koquillion