diff options
author | yui-knk <spiketeika@gmail.com> | 2015-11-15 23:56:52 +0900 |
---|---|---|
committer | yui-knk <spiketeika@gmail.com> | 2015-11-16 23:15:45 +0900 |
commit | 817c1825c15013fd0180762ac5c05a2e024a640d (patch) | |
tree | b27701f790e2c7d2e6fcaff93724025de4fb5557 /activerecord/test/models | |
parent | 69f72223e82a4a4f16f16ad7abb36ebfd162a366 (diff) | |
download | rails-817c1825c15013fd0180762ac5c05a2e024a640d.tar.gz rails-817c1825c15013fd0180762ac5c05a2e024a640d.tar.bz2 rails-817c1825c15013fd0180762ac5c05a2e024a640d.zip |
Except keys of `build_record`'s argument from `create_scope` in initialize_attributes
If argument of `build_record` has key and value which is same as
default value of database, we should also except the key from
`create_scope` in `initialize_attributes`.
Because at first `build_record` initialize record object with argument
of `build_record`, then assign attributes derived from Association's scope.
In this case `record.changed` does not include the key, which value is
same as default value of database, so we should add the key to except list.
Fix #21893.
Diffstat (limited to 'activerecord/test/models')
-rw-r--r-- | activerecord/test/models/bulb.rb | 1 | ||||
-rw-r--r-- | activerecord/test/models/car.rb | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/activerecord/test/models/bulb.rb b/activerecord/test/models/bulb.rb index a6e83fe353..c1e491e5c5 100644 --- a/activerecord/test/models/bulb.rb +++ b/activerecord/test/models/bulb.rb @@ -1,6 +1,7 @@ class Bulb < ActiveRecord::Base default_scope { where(:name => 'defaulty') } belongs_to :car, :touch => true + scope :awesome, -> { where(frickinawesome: true) } attr_reader :scope_after_initialize, :attributes_after_initialize diff --git a/activerecord/test/models/car.rb b/activerecord/test/models/car.rb index 81263b79d1..778c22b1f6 100644 --- a/activerecord/test/models/car.rb +++ b/activerecord/test/models/car.rb @@ -4,6 +4,7 @@ class Car < ActiveRecord::Base has_many :funky_bulbs, class_name: 'FunkyBulb', dependent: :destroy has_many :failed_bulbs, class_name: 'FailedBulb', dependent: :destroy has_many :foo_bulbs, -> { where(:name => 'foo') }, :class_name => "Bulb" + has_many :awesome_bulbs, -> { awesome }, class_name: "Bulb" has_one :bulb |