2011-12-31 3 views
1

Я пытался выяснить следующую выдержку из официальной документации Ruby on Rails (http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html) и, наконец, сдался. Я действительно не понимаю, что это говорит. Мне казалось, что я все разбираюсь в ассоциациях, пока не натолкнулся на этот параграф. Может ли кто-то это интерпретировать? Что это означает только для чтения?Документация об ошибках Obscure об ассоциациях

Важное предостережение с выходом через HAS_ONE или has_many ассоциаций на модели присоединения является то, что эти ассоциации только для чтения. Например, следующий не будет работать после предыдущего примера:

@ group.avatars < < Avatar.new # это будет работать, если пользователь belonged_to Аватар, а не наоборот

@ group.avatars .delete (@ group.avatars.last) # так бы это

ответ

0

Поскольку аватары принадлежат к группе через пользователей, вы не можете добавить в коллекцию - у нее нет Пользователя, к которой принадлежит Аватар. У ассоциации нет смысла добавлять, только для чтения.