とである必要があるRating
という名前のフィールドがあると考えてください。
で:score
>= 0
<= 5
rails console
>> m = Movie.first
=> #<Movie id: 1, name: "Lord of the Rings">
>> r = m.ratings.first
=> #<Rating id: 1, score: 5>
>> m.valid?
=> true
>> r.valid?
=> true
>> r.score = -1
=> -1
>> r.valid?
=> false
使用しない場合validates_associated
:
>> m.valid?
=> true
使用する場合validates_associated
:
>> m.valid?
=> false
>> m.errors.messages
=> {:ratings => ["is invalid"]}
ただし、 を使用しない場合validates_associated
、 を実行するm.save
と、映画のレコードのみが更新され、関連する評価は更新されません。したがって、使用しなくても害はありませんvalidates_associated
。