aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations.rb
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-12-08 04:44:54 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-12-08 04:44:54 +0000
commite466fc45cade7cbc0ee5a0e7181e377dd3780043 (patch)
tree31402d4103e4015a1ce4f99b5fd73628447cd121 /activerecord/lib/active_record/associations.rb
parentc140e80fc4ca438cd966ec3b2453cb7bef91482b (diff)
downloadrails-e466fc45cade7cbc0ee5a0e7181e377dd3780043.tar.gz
rails-e466fc45cade7cbc0ee5a0e7181e377dd3780043.tar.bz2
rails-e466fc45cade7cbc0ee5a0e7181e377dd3780043.zip
Fixed that using :include together with :conditions array in Base.find would cause NoMethodError (closes #2887) [Paul Hammmond]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3240 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord/lib/active_record/associations.rb')
-rwxr-xr-xactiverecord/lib/active_record/associations.rb7
1 files changed, 4 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/associations.rb b/activerecord/lib/active_record/associations.rb
index 2fcce6348e..c50750352f 100755
--- a/activerecord/lib/active_record/associations.rb
+++ b/activerecord/lib/active_record/associations.rb
@@ -1029,9 +1029,10 @@ module ActiveRecord
end
def include_eager_conditions?(options)
- return false unless options[:conditions]
-
- options[:conditions].scan(/ ([^.]+)\.[^.]+ /).flatten.any? do |condition_table_name|
+ conditions = options[:conditions]
+ return false unless conditions
+ conditions = conditions.first if conditions.is_a?(Array)
+ conditions.scan(/(\w+)\.\w+/).flatten.any? do |condition_table_name|
condition_table_name != table_name
end
end