2010-05-04 1 views
1

기본적으로, 나는 사용자들이 서로의 팬이 될 수 있도록 레일즈 앱과 팬시 모델에 사용자 모델을 가지고있다. 내 사용자 모델에서레일에서 사용자 - 사용자 관계의 양면에 접근하기

, 나는이 : 내 fanship 모델에서

has_many :fanships 
has_many :fanofs, :through => :fanships 

을, 내가 가진 :

belongs_to :user 
belongs_to :fanof, :class_name => "User", :foreign_key => "fanof_id" 

내 fanship 테이블은 기본적으로 구성 ID : USER_ID와 : fanof_id. 모든이 잘 작동, 나는 특정 사용자가 등의 팬이 무엇인지 사용자가 볼 수

<% @user.fanofs.each do |fan| %> 
    #things 
<% end %> 

내 질문에, 어떻게이 특정 사용자의 팬이있는 사용자의 목록을 얻을 수 있습니까?

@ user.fans와 같은 것을 가질 수 있다면 좋겠지 만, 이것이 가능하지 않다면 이것에 대해 가장 효율적인 방법은 무엇일까요?

감사합니다. 사용자 모델에서

+0

http://iterat.ive.ly/index.php/2010/08/31/a-user-friend-relationship -model-in-rails/ – devanand

답변

2

추가 (테스트하지)

has_many :my_fanclubs, :class_name => 'Fanship', :foreign_key => 'fanof_id' 
has_many :fans, :through => :my_fanclubs, :source => :user, :class_name => 'User' 

+0

두 번째 줄에서 나는 source => 'user_id'를 source :> : user로 변경했다. 감사합니다 – Lowgain

+0

고마워, 내가 고쳤어. – klew