I know you can do this with virtual attributes, but what if the column actually exists?
For example, my model has a raw_topic
column. When raw_topic
is set, I want artist
and song_title
to be set based off of raw_topic
's contents. Ideally, I'd like to override the raw_topic=
method, but rails doesn't seem to like that.
What's the proper way of doing this? Is a callback the only way?
You can do it like this:
def raw_topic=(value)
# do something with raw topic
self[:raw_topic] = value
end
That way you can ensure you still have the raw topic if you need to act on it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With