【发布时间】:2023-03-29 02:49:01
【问题描述】:
是否可以获得已分配/更新的参数列表?
我不想从before_save回调中获取更改的属性列表,而是通过任何方式分配的属性列表(直接分配然后保存或通过update_attributes方法)。
谢谢!
更新
例如:
p = Person.new( name: 'Bob')
p.update_attributes( {:name, 'Bob'} )
在update_attributes之后的回调中:
name_changed? # return false
我想获取分配属性的列表,例如:
attr_assigned # returns something like {:name => 'Bob'} or so
更新 2:
这是我的模型的现场会议
wl = WhiteLabel.last
wl.footer_text # "dfgdfgdfgdf"
wl.footer_text = "dfgdfgdfgdf"
wl.save
147: def on_subscription_update
148: return if !valid? || back
149:
=> 150: binding.pry
151:
152: filter_out_postponed_attributes
153: create_new_card_from_token if stripe_card_token.present?
154: update_subscription if user.stripe_customer_id && (subscription_type_id_changed? || !subscription_token)
155: session_store = nil if last_step?
156: end
changed # []
changes # {}
我也试过wl.update_attributes({ :footer_text => "dfgdfgdfgdf"} )。结果一样
我是否遗漏了文档中的某些内容?
【问题讨论】:
-
请阅读我链接的文档。方法
#changed为您提供了您正在寻找的答案。
标签: ruby-on-rails activerecord model callback