Ruby on rails Rails在验证中更新_属性
我想获得在update_属性中传递的所有属性,即使它们没有更改 我的验证中有一个逻辑,如果有人通过了X,我应该跳过逻辑 在Rails 4.2.10中,我使用了原始属性,但现在我正在升级RailsRuby on rails Rails在验证中更新_属性,ruby-on-rails,rails-activerecord,Ruby On Rails,Rails Activerecord,我想获得在update_属性中传递的所有属性,即使它们没有更改 我的验证中有一个逻辑,如果有人通过了X,我应该跳过逻辑 在Rails 4.2.10中,我使用了原始属性,但现在我正在升级Rails 有什么想法吗?我看不到访问未更改属性的方法。解决方法可能是截取更新_属性并记忆参数,例如: class User < ApplicationRecord def update_attributes(attrs) @original_raw_attributes = attrs
有什么想法吗?我看不到访问未更改属性的方法。解决方法可能是截取更新_属性并记忆参数,例如:
class User < ApplicationRecord
def update_attributes(attrs)
@original_raw_attributes = attrs
super
end
before_validation do
pp @original_raw_attributes if @original_raw_attributes
end
end
你可能想把它放在一个问题中,但你明白了。有什么理由-1吗?
>> User.last.name
=> "tomc"
>> User.last.update_attributes name: "tomc"
{:name=>"tomc"}