2

這裏是我的用戶模型:返回源在自引用的has_many對象:通過

class User < ActiveRecord::Base 

    has_many :friends, :class_name => 'Friendship', :dependent => :destroy 

end 

這裏是我的友誼模式:

class Friendship < ActiveRecord::Base 

    belongs_to :user 
    belongs_to :friend, :class_name => 'User', :foreign_key => 'friend_id' 

    set_table_name :users_users 
end 

確定。所以在我的應用程序中實際上並沒有一個場景,我需要一個友誼對象。例如,當我調用User.find(1).friends時,我不想返回一組友誼對象。我其實需要用戶對象。

因此,當我調用User.find(1).friends時,如何才能使其返回用戶對象?

回答

2

你確定你不想要嗎?使用此功能,User.find(1).friends將返回用戶數組,而不是友誼數組。

+0

Doh!很簡單的解決方案謝謝。 – keruilin 2011-05-05 06:36:29

+0

您可能想看看RailsS​​pace書籍的第14章。友情模式的細節非常詳盡。以下是源代碼:http://railsspace.com/book/chapter14 – mbreining 2011-05-05 06:39:23