diff options
author | Brandon Keepers <brandon@collectiveidea.com> | 2008-06-09 11:30:48 -0400 |
---|---|---|
committer | rick <technoweenie@gmail.com> | 2008-06-09 12:05:20 -0400 |
commit | e94e53f9cd70bee69759661e9771da3fe0ee9554 (patch) | |
tree | ebd08651543a0c28ce6ce0ef6d8a0bc9bf7c4430 /activerecord/lib/active_record | |
parent | 8bf74c30fe276606214850ae2de76fe0efb08d94 (diff) | |
download | rails-e94e53f9cd70bee69759661e9771da3fe0ee9554.tar.gz rails-e94e53f9cd70bee69759661e9771da3fe0ee9554.tar.bz2 rails-e94e53f9cd70bee69759661e9771da3fe0ee9554.zip |
fix eager loading with dynamic finders
Diffstat (limited to 'activerecord/lib/active_record')
3 files changed, 3 insertions, 2 deletions
diff --git a/activerecord/lib/active_record/associations.rb b/activerecord/lib/active_record/associations.rb index a3d1bbbada..f32b217326 100755 --- a/activerecord/lib/active_record/associations.rb +++ b/activerecord/lib/active_record/associations.rb @@ -1506,7 +1506,7 @@ module ActiveRecord end def order_tables(options) - order = options[:order] + order = [options[:order], scope(:find, :order) ].join(", ") return [] unless order && order.is_a?(String) order.scan(/([\.\w]+).?\./).flatten end diff --git a/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb b/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb index 4fa8e9d0a8..918404eac6 100644 --- a/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb +++ b/activerecord/lib/active_record/associations/has_and_belongs_to_many_association.rb @@ -87,6 +87,7 @@ module ActiveRecord :joins => @join_sql, :readonly => false, :order => @reflection.options[:order], + :include => @reflection.options[:include], :limit => @reflection.options[:limit] } } end diff --git a/activerecord/lib/active_record/associations/has_many_association.rb b/activerecord/lib/active_record/associations/has_many_association.rb index f584a97cbb..295beb2966 100644 --- a/activerecord/lib/active_record/associations/has_many_association.rb +++ b/activerecord/lib/active_record/associations/has_many_association.rb @@ -100,7 +100,7 @@ module ActiveRecord create_scoping = {} set_belongs_to_association_for(create_scoping) { - :find => { :conditions => @finder_sql, :readonly => false, :order => @reflection.options[:order], :limit => @reflection.options[:limit] }, + :find => { :conditions => @finder_sql, :readonly => false, :order => @reflection.options[:order], :limit => @reflection.options[:limit], :include => @reflection.options[:include]}, :create => create_scoping } end |