微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 对于Rails中的关联,write_attribute的等价物是什么?

我想覆盖关联的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

原文地址:https://www.jb51.cc/ruby/268585.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐