diff options
Diffstat (limited to 'activerecord/lib/active_record/associations')
3 files changed, 8 insertions, 3 deletions
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 0a03efa5e4..3d10721af6 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 @@ -133,7 +133,11 @@ module ActiveRecord end def construct_scope - { :find => { :conditions => @finder_sql, :joins => @join_sql, :readonly => false, :order => @reflection.options[:order] } } + { :find => { :conditions => @finder_sql, + :joins => @join_sql, + :readonly => false, + :order => @reflection.options[:order], + :limit => @reflection.options[:limit] } } end # Join tables with additional columns on top of the two foreign keys must be considered ambiguous unless a select diff --git a/activerecord/lib/active_record/associations/has_many_association.rb b/activerecord/lib/active_record/associations/has_many_association.rb index 972745ee31..ead447baa0 100644 --- a/activerecord/lib/active_record/associations/has_many_association.rb +++ b/activerecord/lib/active_record/associations/has_many_association.rb @@ -167,7 +167,7 @@ module ActiveRecord def construct_scope create_scoping = {} set_belongs_to_association_for(create_scoping) - { :find => { :conditions => @finder_sql, :readonly => false, :order => @reflection.options[:order] }, :create => create_scoping } + { :find => { :conditions => @finder_sql, :readonly => false, :order => @reflection.options[:order], :limit => @reflection.options[:limit] }, :create => create_scoping } end end end diff --git a/activerecord/lib/active_record/associations/has_many_through_association.rb b/activerecord/lib/active_record/associations/has_many_through_association.rb index a9cacb09c8..2d06e90416 100644 --- a/activerecord/lib/active_record/associations/has_many_through_association.rb +++ b/activerecord/lib/active_record/associations/has_many_through_association.rb @@ -236,7 +236,8 @@ module ActiveRecord :conditions => construct_conditions, :joins => construct_joins, :select => construct_select, - :order => @reflection.options[:order] } } + :order => @reflection.options[:order], + :limit => @reflection.options[:limit] } } end def construct_sql |