我有這兩個ActiveRecord的模式:belongs_to的與條件找到主父不起作用
Milestone
has_many :nodes
Node
belongs_to :milestone
里程碑可以有多個節點,因爲它可以創建別名。然後我需要一種方法來找到主節點。
我嘗試了兩種選擇,但他們沒有完全工作:
選項1:添加關聯:節點:
belongs_to :node, conditions: {is_alias: true}
看起來明顯,我卻不能在所有的工作。當我做@ milestone.node,結果是 「無」
選項2:創建一個節點的方法:
def node
Node.where(milestone_id: self.id, is_alias: false)
end
這個工程半途而廢:
@ milestone.node =>返回正確的節點
@ milestone.node.milestone =>返回一個錯誤:未定義的方法`里程碑」爲#
我需要一個‘乾淨’的方式能夠找到主父里程碑的Infor mation。
很抱歉,但我不明白「里程碑可以有多個節點,因爲這是可能的創建別名。「 – 2012-04-06 13:00:08
第二個選項不起作用,因爲你需要在鏈末尾應用'第一個'方法 – MikDiet 2012-04-06 13:04:46