Rails 4.2.10 Грязные изменения вызывают даже то, что вложенные поля не менялись - PullRequest
0 голосов
/ 27 сентября 2018

У меня возникает эта проблема только один раз после обновления записи, после обновления записи, если я пытаюсь повторить то же самое, проблем нет

Например, у меня есть таблица цен для моих продуктов, и этовложенные в продукты

, когда я делаю изменения для самой таблицы продуктов, мои вложенные ценовые триггеры полей также меняются, как показано в примере ниже, когда я отлаживаю с 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]}

триггерами изменений могут быть мои кодыно странная вещь, когда я посылаю неправильный метод в active_model в консоли binding.pry, он дает мне больше измененных атрибутов после этого, даже если между ними не происходит никаких действий.

Редактировать:

проблема была вызвана тем, что BigDecimal продолжал создавать новый BigDecimal по ходу процесса

...