Они оба проверяют связанные модели.
Разница в том, что первым является опция для ассоциации (например, belongs_to
, has_many
и т. Д.). Например. Вы определяете «акт проверки» в вашей ассоциации.
В классическом примере "У автора много книг", скажем, вы включили belongs_to :author, :validate => true
в модели "Книга". Каждый раз, когда вы проверяете модель Книги, связанный с ней Автор также должен быть действительным.
Другое является отдельным правилом проверок, которое вы можете добавить к другим проверкам. Таким образом, в этом случае вы включаете проверку связанного объекта вместе с другими правилами проверки.
Это может работать наоборот. У автора: has_many :books ; validates_associated :books
. Когда вы проверяете объект Author, все книги также проверяются.