diff options
author | Yves Senn <yves.senn@gmail.com> | 2016-11-22 13:49:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-11-22 13:49:09 +0100 |
commit | 44087d88325be9e7b2e532b16c615e8be4eef13e (patch) | |
tree | 82bdbe113138eb08dfe3ab7e72ef5f353ef8e7ae /activerecord/lib/active_record/associations/builder/singular_association.rb | |
parent | b89ddd421feed0a8dc45fb6a9a26dde34e3b7b9e (diff) | |
parent | 0e9957135d9057f91fe30af01d4a70e30ee8a6b3 (diff) | |
download | rails-44087d88325be9e7b2e532b16c615e8be4eef13e.tar.gz rails-44087d88325be9e7b2e532b16c615e8be4eef13e.tar.bz2 rails-44087d88325be9e7b2e532b16c615e8be4eef13e.zip |
Merge pull request #27133 from rails/reload_singular_associations
Introduce `reload_<association>` reader for singular associations.
Diffstat (limited to 'activerecord/lib/active_record/associations/builder/singular_association.rb')
-rw-r--r-- | activerecord/lib/active_record/associations/builder/singular_association.rb | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/associations/builder/singular_association.rb b/activerecord/lib/active_record/associations/builder/singular_association.rb index bb96202a22..7732b63af6 100644 --- a/activerecord/lib/active_record/associations/builder/singular_association.rb +++ b/activerecord/lib/active_record/associations/builder/singular_association.rb @@ -8,7 +8,16 @@ module ActiveRecord::Associations::Builder # :nodoc: def self.define_accessors(model, reflection) super - define_constructors(model.generated_association_methods, reflection.name) if reflection.constructable? + mixin = model.generated_association_methods + name = reflection.name + + define_constructors(mixin, name) if reflection.constructable? + + mixin.class_eval <<-CODE, __FILE__, __LINE__ + 1 + def reload_#{name} + association(:#{name}).force_reload_reader + end + CODE end # Defines the (build|create)_association methods for belongs_to or has_one association |