作者热门文章
- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我想覆盖关联的 setter ,但 write_attribute() 不起作用 - 可能是因为该方法仅适用于数据库列。
我已经尝试过 super(),但这也不起作用(没想到它会......但值得猜测)。
如何覆盖 setter ?这是我正在尝试做的事情:
def parent=(value)
# this line needs to be changed
write_attribute(:parent, value)
if value.subject.start_with?('Re:')
self.subject = "#{value.subject}"
else
self.subject = "Re: #{value.subject}"
end
self.receivers << value.sender
end
最佳答案
对我有用的是:
def parent=(new_parent)
# do stuff before setting the new parent...
association(:parent).writer(new_parent)
end
关于ruby-on-rails - Rails 中关联的 write_attribute 的等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6162510/
我想覆盖关联的 setter ,但 write_attribute() 不起作用 - 可能是因为该方法仅适用于数据库列。 我已经尝试过 super(),但这也不起作用(没想到它会......但值得猜测
直到今天我才知道 write_attribute ... 它看起来像 update_attribute,虽然没有调用验证仍然调用 :before_save 回调,而 write_attribute 没
我是一名优秀的程序员,十分优秀!