Allow #count through a has_many association to accept :include. [Dan Peterson]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4618 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
parent
04d9e94e88
commit
971e03f24e
|
@ -1,5 +1,7 @@
|
|||
*SVN*
|
||||
|
||||
* Allow #count through a has_many association to accept :include. [Dan Peterson]
|
||||
|
||||
* create_table rdoc: suggest :id => false for habtm join tables. [Zed Shaw]
|
||||
|
||||
* PostgreSQL: return array fields as strings. #4664 [Robby Russell]
|
||||
|
|
|
@ -17,7 +17,6 @@ module ActiveRecord
|
|||
|
||||
class HasManyThroughAssociationPolymorphicError < ActiveRecordError #:nodoc:
|
||||
def initialize(owner_class_name, reflection, source_reflection)
|
||||
source_reflection = source_reflection
|
||||
super("Cannot have a has_many :through association '#{owner_class_name}##{reflection.name}' on the polymorphic object '#{source_reflection.class_name}##{source_reflection.name}'.")
|
||||
end
|
||||
end
|
||||
|
|
|
@ -48,6 +48,7 @@ module ActiveRecord
|
|||
options[:conditions] = options[:conditions].nil? ?
|
||||
@finder_sql :
|
||||
@finder_sql + " AND (#{sanitize_sql(options[:conditions])})"
|
||||
options[:include] = @reflection.options[:include]
|
||||
|
||||
@reflection.klass.count(column_name, options)
|
||||
end
|
||||
|
|
|
@ -356,4 +356,8 @@ class EagerAssociationTest < Test::Unit::TestCase
|
|||
assert_equal 2, one.comments.size
|
||||
assert_equal 2, one.categories.size
|
||||
end
|
||||
|
||||
def test_count_with_include
|
||||
assert_equal 3, authors(:david).posts_with_comments.count(:conditions => "length(comments.body) > 15")
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue