更新记录后我一次遇到了这个问题,更新记录后如果我再次尝试相同的操作就没有问题
例如,我有一个产品价格表,它嵌套在产品中
当我对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时,更奇怪的是,即使它们之间没有任何动作,它也会为我提供更多更改的属性。