aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/models
diff options
context:
space:
mode:
authoryui-knk <spiketeika@gmail.com>2015-11-15 23:56:52 +0900
committeryui-knk <spiketeika@gmail.com>2015-11-16 23:15:45 +0900
commit817c1825c15013fd0180762ac5c05a2e024a640d (patch)
treeb27701f790e2c7d2e6fcaff93724025de4fb5557 /activerecord/test/models
parent69f72223e82a4a4f16f16ad7abb36ebfd162a366 (diff)
downloadrails-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.rb1
-rw-r--r--activerecord/test/models/car.rb1
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