Permalink
Browse files

`CollectionAssociation#empty?` respects newly builded records

  • Loading branch information...
1 parent 6581d79 commit ec07735641e4df13b644a85f1f300cf20134995a @senny senny committed Jan 12, 2013
View
@@ -1,5 +1,16 @@
## Rails 4.0.0 (unreleased) ##
+* Collection associations `#empty?` always respects builded records.
+ Fix #8879.
+
+ Example:
+
+ widget = Widget.new
+ widget.things.build
+ widget.things.empty? # => false
+
+ *Yves Senn*
+
* Remove support for parsing YAML parameters from request.
*Aaron Patterson*
@@ -273,7 +273,7 @@ def empty?
if loaded? || options[:counter_sql]
size.zero?
else
- !scope.exists?
+ @target.blank? && !scope.exists?
end
end
@@ -625,6 +625,13 @@ def test_collection_size_after_building
assert_equal 3, company.clients_of_firm.size
end
+ def test_collection_not_empty_after_building
+ company = companies(:first_firm)
+ assert_predicate company.contracts, :empty?
+ company.contracts.build
+ assert_not_predicate company.contracts, :empty?
+ end
+
def test_collection_size_twice_for_regressions
post = posts(:thinking)
assert_equal 0, post.readers.size

0 comments on commit ec07735

Please sign in to comment.