mirror of
https://github.com/github/rails.git
synced 2026-04-26 03:00:59 -04:00
Fix blank conditions on AssociationCollection#find. [#104 state:resolved]
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
This commit is contained in:
committed by
Pratik Naik
parent
0b8b582e06
commit
0cbdd96c34
@@ -1910,6 +1910,8 @@ module ActiveRecord #:nodoc:
|
||||
# { :name => "foo'bar", :group_id => 4 } returns "name='foo''bar' and group_id='4'"
|
||||
# "name='foo''bar' and group_id='4'" returns "name='foo''bar' and group_id='4'"
|
||||
def sanitize_sql_for_conditions(condition)
|
||||
return nil if condition.blank?
|
||||
|
||||
case condition
|
||||
when Array; sanitize_sql_array(condition)
|
||||
when Hash; sanitize_sql_hash_for_conditions(condition)
|
||||
|
||||
@@ -48,6 +48,12 @@ class HasManyAssociationsTest < ActiveRecord::TestCase
|
||||
assert_equal 2, Firm.find(:first).clients.length
|
||||
end
|
||||
|
||||
def test_find_with_blank_conditions
|
||||
[[], {}, nil, ""].each do |blank|
|
||||
assert_equal 2, Firm.find(:first).clients.find(:all, :conditions => blank).size
|
||||
end
|
||||
end
|
||||
|
||||
def test_find_many_with_merged_options
|
||||
assert_equal 1, companies(:first_firm).limited_clients.size
|
||||
assert_equal 1, companies(:first_firm).limited_clients.find(:all).size
|
||||
@@ -851,4 +857,4 @@ class HasManyAssociationsTest < ActiveRecord::TestCase
|
||||
assert ! firm.clients.include?(client)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user