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