У меня есть Artist
, который связан с Board
моделью.Я хотел бы установить обратный вызов after_update
, чтобы при каждом обновлении имени артиста я хотел изменить имя доски следующим образом:
after_update { self.board.update_attribute(:name, name: name) }
К сожалению, я получаю эту ошибку:
NoMethodError:
undefined method `create' for nil:NilClass
Я заметил, что выпадение связано с самой ассоциацией.Почему это происходит?Для чего бы это ни стоило, у меня также есть обратный вызов after_create
, который по умолчанию создает доску:
after_create { board.create(name: self.name) }
class Artist < ApplicationRecord
has_one :board, as: :boardable, dependent: :destroy
after_create { board.create(name: self.name) }
after_update { self.board.update_attribute(:name, name: name) }
end