في هذا المثال لم يُعرّف Active Record الارتباطات ثنائية الاتجاه تلقائيا لأنها احتوت على: class_name و foreign_key و بالتالي في هذه الحالة لن يُحمل Active Record نُسخة واحدة من الكائن Author أي أن:
a = Author.first
b = a.books.first
a.first_name == b.writer.first_name # => true
a.first_name = 'David'
a.first_name == b.writer.first_name # => false
a و b.writer هنا ليسا نفس الكائن. حيث أن Active Record قام بتحميل نُسختين في البداية كانت قيمة الخاصية first_name مُتساوية في كلتا النُسختين، أما بعد تغيير القيمة للكائن a أصبح هناك إختلاف لذلك المُقارنة أعطت false.
وقد ذكر المقال أنه حتى نُساعد Active Record على التعرف على الارتباط ثنائي الاتجاه ليقوم بتحميل نُسخة واحدة من الكائن نستخدم الخيار inverse_of و بالتالي في المثال الأخير:
class Author < ApplicationRecord
has_many :books, inverse_of: 'writer'
end
class Book < ApplicationRecord
belongs_to :writer, class_name: 'Author', foreign_key: 'author_id'
end
a = Author.first
b = a.books.first
a.first_name == b.writer.first_name # => true
a.first_name = 'David'
a.first_name == b.writer.first_name # => true
هنا أعطت المُقارنة true حتى بعد تغيير القيمة first_name لـِ a لأن Active Record تعرفت على الإرتباط ثنائي الإتجاه و أن a و b.writer هما نفس الكائن.