Можно ли с помощью Observer наблюдать за созданием записей JOIN? Например, у вас есть модель пользователя, имеющая_and_belongs_to_many моделей книг. Можно ли отслеживать записи books_users по мере их создания или удаления, или для этого у меня должна быть модель BookUser?
Пример того, что я хочу наблюдать:
User.books << book
ИЛИ ЖЕ
User.books.push(book)
ИЛИ ЖЕ что бы ни!
Спасибо,
Дэйв К.





Это точная причина, по которой вы должны использовать has_many: through вместо has_and_belongs_to; Это позволяет вам создать модель BookUser, в которой могут использоваться обычные обратные вызовы / наблюдатели activerecord (например, after_save). Этот сайт лучше объясняет различия, http://blog.hasmanythrough.com/2006/4/20/many-to-many-dance-off
Однако вы знаете, что сразу после прочтения этой статьи я понял, что мне действительно нужны has_many, own_to - мне нужен уникальный идентификатор и тип для сохранения в другой таблице. Спасибо, что заставили меня задуматься, у меня заклинило бревно.
Я полностью понимаю, но исходный дизайн не требовал ничего, кроме взаимоотношений между ними, поэтому в модели не было необходимости. Я прочитаю ссылку, которую вы предоставили, но мой вопрос только в том, возможно ли это наблюдать без модели? Если нет, то сделаю модель.