From d828075928970ebc643d576a99be60ceb67f90bc Mon Sep 17 00:00:00 2001 From: Pedro Paiva Date: Mon, 24 May 2021 09:42:16 -0300 Subject: [PATCH] Fix the actual_foreign_key method that is returning a string instead of an array of foreign keys --- lib/shoulda/matchers/active_record/association_matcher.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/shoulda/matchers/active_record/association_matcher.rb b/lib/shoulda/matchers/active_record/association_matcher.rb index e798a13d4..28e13d66e 100644 --- a/lib/shoulda/matchers/active_record/association_matcher.rb +++ b/lib/shoulda/matchers/active_record/association_matcher.rb @@ -1447,7 +1447,9 @@ def primary_key_correct?(klass) def actual_foreign_key return unless foreign_key_reflection - if foreign_key_reflection.respond_to?(:foreign_key) + if foreign_key_reflection.options[:foreign_key] + foreign_key_reflection.options[:foreign_key] + elsif foreign_key_reflection.respond_to?(:foreign_key) foreign_key_reflection.foreign_key else foreign_key_reflection.primary_key_name