これは私のモデルである:私のカスタム検証が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」の目標を持っていますか?つまり、Userモデルの 'has_many'メソッドとの関連付けを明示的に指定していますか? – maprihoda
作成してみてください(作成しないでください) – Dorian
@Dorian、作成して保存してください!予想されるエラーがスローされます。ありがと...とどのように混乱しています。 – Koquillion