diff options
author | kennyj <kennyj@gmail.com> | 2013-05-08 01:24:50 +0900 |
---|---|---|
committer | kennyj <kennyj@gmail.com> | 2013-05-08 01:24:50 +0900 |
commit | abf3fef1e68eb89173b76a8bb3afcdda3f05f0a3 (patch) | |
tree | d85a3371075bf4478550a563921eb18c3bb2e799 /activerecord/lib | |
parent | ca0275d36b395631725c4583db5a45c06443fdb9 (diff) | |
download | rails-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')
-rw-r--r-- | activerecord/lib/active_record/associations/collection_association.rb | 6 |
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 |