所以我有一個自引用rails模型。在這個模型中,用戶有很多朋友,並且所有用戶都有狀態。我希望用戶能夠獲取其他用戶的狀態。但是由於遞歸方法調用,我遇到了堆棧溢出錯誤。Rails自引用has_many通過自我
class User
has_many :statuses
has_many :friendships
has_many :friends, :through => :friendships
end
我希望能夠說
class User
has_many :statuses
has_many :friendships
has_many :friends, :through => :friendships
has_many :friend_statuses, :through => :friends, :class_name => :statuses
end
然而,這顯然是創建一個遞歸調用,從而導致SO。有什麼方法可以以語義,RESTful的方式獲取所有朋友的狀態?
雅,我試圖避免無關的方法和迭代。但我想我必須這樣做。 – OneChillDude 2013-03-04 15:17:26
無論你使用什麼方法,你都必須迭代通過朋友來獲得他的狀態。你唯一能做的就是減少查詢次數,這就是我的例子。 – 2013-03-04 15:48:45