diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2018-09-24 05:25:44 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2019-02-21 21:59:31 +0900 |
commit | 3b6602aa7a01fb415fce07ef32458b131e5762e1 (patch) | |
tree | c0ed3f2ba82db3c80f996f00b009f6df85162335 /activerecord/test/cases/connection_specification/resolver_test.rb | |
parent | 67e20d1d4854d834e9e43e56486d37cd98983f0d (diff) | |
download | rails-3b6602aa7a01fb415fce07ef32458b131e5762e1.tar.gz rails-3b6602aa7a01fb415fce07ef32458b131e5762e1.tar.bz2 rails-3b6602aa7a01fb415fce07ef32458b131e5762e1.zip |
Should not pass extra args to `_update_record`
The argument of `_update_record` and `_create_record` is
`attribute_names`, that is reserved for overriding by partial writes
attribute names.
https://github.com/rails/rails/blob/67e20d1d4854d834e9e43e56486d37cd98983f0d/activerecord/lib/active_record/persistence.rb#L719
https://github.com/rails/rails/blob/67e20d1d4854d834e9e43e56486d37cd98983f0d/activerecord/lib/active_record/persistence.rb#L737
https://github.com/rails/rails/blob/67e20d1d4854d834e9e43e56486d37cd98983f0d/activerecord/lib/active_record/attribute_methods/dirty.rb#L171
https://github.com/rails/rails/blob/67e20d1d4854d834e9e43e56486d37cd98983f0d/activerecord/lib/active_record/attribute_methods/dirty.rb#L177
The reason that no failing with extra args is that `Timestamp` module
which is most outside module of the `_update_record` discards the extra
args.
https://github.com/rails/rails/blob/67e20d1d4854d834e9e43e56486d37cd98983f0d/activerecord/lib/active_record/timestamp.rb#L104
But that looks odd dependency. It should not be passed extra args,
should only be passed attribute names.
Diffstat (limited to 'activerecord/test/cases/connection_specification/resolver_test.rb')
0 files changed, 0 insertions, 0 deletions