aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/associations/collection_association.rb
diff options
context:
space:
mode:
authorNikita Misharin <misharinn@gmail.com>2017-11-20 16:31:46 +0300
committerNikita Misharin <misharinn@gmail.com>2017-11-25 21:57:04 +0300
commitae032ec38463e923c0556fbdd28b9d9fced18b11 (patch)
tree61d3c842738e8969a22496620d41ad13a5bda3b7 /activerecord/lib/active_record/associations/collection_association.rb
parentf27319a72a4ccfbffc575b752e4d91136f23725e (diff)
downloadrails-ae032ec38463e923c0556fbdd28b9d9fced18b11.tar.gz
rails-ae032ec38463e923c0556fbdd28b9d9fced18b11.tar.bz2
rails-ae032ec38463e923c0556fbdd28b9d9fced18b11.zip
Provide arguments to RecordNotFound
Diffstat (limited to 'activerecord/lib/active_record/associations/collection_association.rb')
-rw-r--r--activerecord/lib/active_record/associations/collection_association.rb8
1 files changed, 7 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/associations/collection_association.rb b/activerecord/lib/active_record/associations/collection_association.rb
index ed215fb22c..921237a735 100644
--- a/activerecord/lib/active_record/associations/collection_association.rb
+++ b/activerecord/lib/active_record/associations/collection_association.rb
@@ -79,7 +79,13 @@ module ActiveRecord
def find(*args)
if options[:inverse_of] && loaded?
args_flatten = args.flatten
- raise RecordNotFound, "Couldn't find #{scope.klass.name} without an ID" if args_flatten.blank?
+ model = scope.klass
+
+ if args_flatten.blank?
+ error_message = "Couldn't find #{model.name} without an ID"
+ raise RecordNotFound.new(error_message, model.name, model.primary_key, args)
+ end
+
result = find_by_scan(*args)
result_size = Array(result).size