aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations/collection_association.rb
diff options
context:
space:
mode:
authorkennyj <kennyj@gmail.com>2013-05-08 01:24:50 +0900
committerkennyj <kennyj@gmail.com>2013-05-08 01:24:50 +0900
commitabf3fef1e68eb89173b76a8bb3afcdda3f05f0a3 (patch)
treed85a3371075bf4478550a563921eb18c3bb2e799 /activerecord/lib/active_record/associations/collection_association.rb
parentca0275d36b395631725c4583db5a45c06443fdb9 (diff)
downloadrails-abf3fef1e68eb89173b76a8bb3afcdda3f05f0a3.tar.gz
rails-abf3fef1e68eb89173b76a8bb3afcdda3f05f0a3.tar.bz2
rails-abf3fef1e68eb89173b76a8bb3afcdda3f05f0a3.zip
Fixed a bug in when using has_many association with :inverse_of option and UUID primary key.
Diffstat (limited to 'activerecord/lib/active_record/associations/collection_association.rb')
-rw-r--r--activerecord/lib/active_record/associations/collection_association.rb6
1 files changed, 3 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/associations/collection_association.rb b/activerecord/lib/active_record/associations/collection_association.rb
index 2a00ac1386..756c7c87ff 100644
--- a/activerecord/lib/active_record/associations/collection_association.rb
+++ b/activerecord/lib/active_record/associations/collection_association.rb
@@ -583,14 +583,14 @@ module ActiveRecord
# specified, then #find scans the entire collection.
def find_by_scan(*args)
expects_array = args.first.kind_of?(Array)
- ids = args.flatten.compact.map{ |arg| arg.to_i }.uniq
+ ids = args.flatten.compact.map{ |arg| arg.to_s }.uniq
if ids.size == 1
id = ids.first
- record = load_target.detect { |r| id == r.id }
+ record = load_target.detect { |r| id == r.id.to_s }
expects_array ? [ record ] : record
else
- load_target.select { |r| ids.include?(r.id) }
+ load_target.select { |r| ids.include?(r.id.to_s) }
end
end