Rails 4.2.10即使嵌套字段未更改,脏更改也会触发

时间:2018-09-27 09:36:09

标签: ruby-on-rails ruby-on-rails-4 attributes

更新记录后我一次遇到了这个问题,更新记录后如果我再次尝试相同的操作就没有问题

例如,我有一个产品价格表,它嵌套在产品中

当我对products表本身进行更改时,当我使用binding.pry进行调试时,价格嵌套字段也会触发以下示例更改;

[1] pry(#<Price>)> changes
=> {"prices"=>[[#<BigDecimal:7fea13b5ddd0,'0.16E1',18(18)>], [#<BigDecimal:7fea13afc698,'0.16E1',18(18)>]],
 "updated_at"=>[Wed, 05 Sep 2018 16:14:07 BST +01:00, Thu, 27 Sep 2018 09:57:49 BST +01:00]}

[2] pry(#<Price>)> dd
NameError: undefined local variable or method `dd' for #<Price:0x00007fea13afe650>
from /Users/user/.rvm/gems/ruby-2.3.7/gems/activemodel-4.2.10/lib/active_model/attribute_methods.rb:433:in `method_missing'

[3] pry(#<Price>)> changes
=> {"prices"=>[[#<BigDecimal:7fe9f5623748,'0.16E1',18(18)>], [#<BigDecimal:7fea13afc698,'0.16E1',18(18)>]],
 "occured_dates"=>[[Wed, 05 Sep 2018], [Wed, 05 Sep 2018]],
 "updated_at"=>[Wed, 05 Sep 2018 16:14:07 BST +01:00, Thu, 27 Sep 2018 09:57:49 BST +01:00]}

更改触发器可能是我的代码,但是当我在binding.pry控制台中将错误的方法发送给active_model时,更奇怪的是,即使它们之间没有任何动作,它也会为我提供更多更改的属性。

0 个答案:

没有答案