私はこれらの2つのアクティブレコードモデルを持っています:
Milestone
has_many :nodes
Node
belongs_to :milestone
エイリアスを作成できるため、マイルストーンは複数のノードを持つことができます。次に、マスター ノードを見つける方法が必要です。
2 つのオプションを試しましたが、どれも完全には機能しません。
オプション 1: 関連付けを追加する :node :
belongs_to :node, conditions: {is_alias: true}
私には明白に見えますが、まったく機能しません。@milestone.node を実行すると、結果は「nil」です
オプション 2: ノード メソッドを作成します。
def node
Node.where(milestone_id: self.id, is_alias: false)
end
これは途中で機能します:
@milestone.node => 正しいノードを返します
@milestone.node.milestone => はエラーを返します: undefined method `milestone' for #
マスターの親マイルストーン情報を見つけることができる「クリーンな」方法が必要です。