ActiveRecord检测属性的设置

时间:2012-10-10 14:04:04

标签: ruby-on-rails-3 activerecord

说,我的模型A的属性为name

如果我执行此操作A.new(name: nil).name_changed?,则会返回false

如何检测属性设置,即使它什么都没改变?

1 个答案:

答案 0 :(得分:3)

尝试类似:

class A < ActiveRecord::Base
  attr_accessor :name_set

  def name=(v)
    @name_set = true
    super(v)
  end
end

现在,您可以使用name_set方法查询对象。