0

我是一名 Ruby on Rails 初学者。

我有两个具有一对多关系的模型,我想followers_idrelationships模型中获取并显示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 控制台)中使用 rails 的“pluck”方法

u  = Users.find(1)

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

但我不知道如何使用这些 id 数组来获取followersinfo(firstname,lastname)

有人可以指导我吗..

有没有更好的方法来获取关注者信息。

提前致谢 :)

4

2 回答 2

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

于 2013-10-12T19:06:48.757 回答
0

基于您的模型关系

@user  = Users.find(1)

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

您可以在 @followers_ids 中获得所有关注者 ID

@followers = User.where("id in (?)", @followers_id)

@followers您可以在变量中获得关注者的所有信息

于 2013-10-12T19:18:44.383 回答