我知道您可以使用虚拟属性来做到这一点,但是如果该列确实存在呢?
例如,我的模型有一个 raw_topic
柱子。当raw_topic
设置好了,我要artist
和 song_title
设置基于 raw_topic
的内容。理想情况下,我想覆盖 raw_topic=
方法,但 Rails 似乎不喜欢那样。
这样做的正确方法是什么?回调是唯一的方法吗?
最佳答案
你可以这样做:
def raw_topic=(value)
# do something with raw topic
self[:raw_topic] = value
end
这样,如果您需要采取行动,您可以确保您仍然拥有原始主题。
关于ruby-on-rails - 如何覆盖事件记录对象中的属性分配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2528301/