rails 使用脏方法使用移动性进行跟踪 gem
rails using dirty method for tracing purposes using mobility gem
rails 控制器方法正在尝试传递对象更改
if @union.update(union_params)
puts '||'
puts @union.changed
puts @union.changes
@union.update_with_log(union_params, current_user.id)
但是,当它运行时,控制台会为更改注册一个空哈希,甚至不处理 changed
动词。
||
{}
changes
动词在控制台中使用调用的变量进行测试时 as expected 起作用。但是,应用程序的操作上下文是通过 mobility
gem.
处理的可转换变量
实际上,控制台按以下方式注册编辑:
Mobility::Backends::ActiveRecord::KeyValue::TextTranslation Update (0.4ms) UPDATE "mobility_text_translations" SET "value" = , "updated_at" = WHERE "mobility_text_translations"."id" = [...]
为什么此行为与 mobility
& 实例变量不同?
需要调用的方法是 previous_changes
,因为 indicated in the documentation 接近脏跟踪部分的末尾,而不是 changes
(文档在后一点上不明确写作时间)。
rails 控制器方法正在尝试传递对象更改
if @union.update(union_params)
puts '||'
puts @union.changed
puts @union.changes
@union.update_with_log(union_params, current_user.id)
但是,当它运行时,控制台会为更改注册一个空哈希,甚至不处理 changed
动词。
||
{}
changes
动词在控制台中使用调用的变量进行测试时 as expected 起作用。但是,应用程序的操作上下文是通过 mobility
gem.
实际上,控制台按以下方式注册编辑:
Mobility::Backends::ActiveRecord::KeyValue::TextTranslation Update (0.4ms) UPDATE "mobility_text_translations" SET "value" = , "updated_at" = WHERE "mobility_text_translations"."id" = [...]
为什么此行为与 mobility
& 实例变量不同?
需要调用的方法是 previous_changes
,因为 indicated in the documentation 接近脏跟踪部分的末尾,而不是 changes
(文档在后一点上不明确写作时间)。