From 915e2792fca195ea944b3eda3f3ebfaeaebb6d4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Thu, 24 Oct 2019 03:50:33 +0200 Subject: [PATCH] Use `self.name` for same-table relations Personally reading the class name made me take some time to realize it was a same-table relation. --- app/models/budget/phase.rb | 4 ++-- app/models/related_content.rb | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/models/budget/phase.rb b/app/models/budget/phase.rb index 10b16a2d3..d9318f27d 100644 --- a/app/models/budget/phase.rb +++ b/app/models/budget/phase.rb @@ -12,8 +12,8 @@ class Budget include Sanitizable belongs_to :budget - belongs_to :next_phase, class_name: "Budget::Phase" - has_one :prev_phase, class_name: "Budget::Phase", foreign_key: :next_phase_id + belongs_to :next_phase, class_name: self.name + has_one :prev_phase, class_name: self.name, foreign_key: :next_phase_id validates_translation :summary, length: { maximum: SUMMARY_MAX_LENGTH } validates_translation :description, length: { maximum: DESCRIPTION_MAX_LENGTH } diff --git a/app/models/related_content.rb b/app/models/related_content.rb index 0903e4433..8a81413ed 100644 --- a/app/models/related_content.rb +++ b/app/models/related_content.rb @@ -8,7 +8,7 @@ class RelatedContent < ApplicationRecord belongs_to :author, class_name: "User" belongs_to :parent_relationable, polymorphic: true, touch: true belongs_to :child_relationable, polymorphic: true, touch: true - has_one :opposite_related_content, class_name: "RelatedContent", foreign_key: :related_content_id + has_one :opposite_related_content, class_name: self.name, foreign_key: :related_content_id has_many :related_content_scores validates :parent_relationable_id, presence: true