Я знаю, что можно сделать это с виртуальными атрибутами, но что, если столбец на самом деле существует?
Например, моя модель имеет a raw_topic
столбец. Когда raw_topic
установлен, я хочу artist
и song_title
быть установленным базирующийся прочь raw_topic
содержание. Идеально, я хотел бы переопределить raw_topic=
методу, но направляющим, кажется, не нравится это.
Каков надлежащий способ сделать это? Действительно ли обратный вызов является единственным путем?
Вы можете сделать это следующим образом:
def raw_topic=(value)
# do something with raw topic
self[:raw_topic] = value
end
Таким образом, вы можете быть уверены, что у вас все еще есть необработанная тема, если вам понадобится действовать в соответствии с ней.