需要显示关注者列表信息

时间:2013-10-12 17:44:08

标签: ruby-on-rails rails-activerecord

我是铁轨初学者的红宝石。

我有两个具有一对多关系的模型,我想从followers_id模型中获取relationships并显示followers信息

model1 

Users  -> has_many                      
id firstname lastname....
 1    sample   

model2

Relationships -> belongs_to              
user_id follower_id following_id
 1         2         
 1         3     

我尝试在(rails console)中使用rails的'pluck'方法

u  = Users.find(1)

r  = u.relationships.pluck(:follower_id)
//gives me a array of id

但我不知道如何使用这些id数组来获取followers信息(名字,姓氏)

有人可以指导我..

有没有更好的方法来获取粉丝信息。

提前致谢:)

2 个答案:

答案 0 :(得分:1)

好的,你基本上需要的是将用户与追随者连接通过关系这样做:

class User < ActiveRecord::Base
  has_many :relationships
  has_many :followers, through: :relationships
end

class Relationship < ActiveRecord::Base
  belongs_to :user
  belongs_to :follower
end

之后你可以user.followers

答案 1 :(得分:0)

基于您的模型关系

@user  = Users.find(1)

@follower_ids  = @user.relationships.pluck(:follower_id)

您可以在@followers_ids

中获得所有关注者ID
@followers = User.where("id in (?)", @followers_id)

您可以获得@followers变量

中所有关注者的信息