我知道您可以使用虚拟属性来实现这一点,但是如果列实际存在呢?
例如,我的模型有一个 raw_topic 列。什么时候? 原始主题 准备好了,我要 artist 和 song_title 以…为基础 原始主题 的内容。理想情况下,我想覆盖 raw_topic= 方法,但Rails似乎不喜欢这样。
raw_topic
原始主题
artist
song_title
raw_topic=
正确的方法是什么?只有回拨电话吗?
你可以这样做:
def raw_topic=(value) # do something with raw topic self[:raw_topic] = value end
这样,如果您需要采取行动,就可以确保您仍然拥有原始主题。