首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示追随者和跟随者的列表

显示追随者和跟随者的列表
EN

Stack Overflow用户
提问于 2013-02-27 14:36:56
回答 1查看 1.7K关注 0票数 0

该死的所有人,

我正在使用一个叫做社会化的红宝石(https://github.com/cmer/socialization)。

我有它的工作,我能够跟踪和取消跟踪一个用户,看看有多少人跟随或跟随任何用户。问题是,当我想输出跟随者的用户名时,它只适用于user1,对于用户2-4,它将根据关注者的数量来显示用户名,例如,如果表是

  • user1遵循=>用户2
  • user2遵循=>用户3

我要求用户3的追随者(知道user3是一个追随者),它会打印出User1不管(我希望这是有意义的)。

这是我的代码:

UsersController中的跟随法

代码语言:javascript
复制
def followers
     @user = User.find(params[:user])
     @followers = @user.followers(User)
     @users = User.all

     response = {:user => @user, :followers => @followers, :users => @users}

     respond_to do |format|
      format.html  #followers.html.erb
      format.xml {render :xml => response}
    end
end

UsersController中的跟踪方法

代码语言:javascript
复制
def following
     @user = User.find(params[:user])
     @following = @user.followers(User)
     @users = User.all

     response = {:user => @user, :following => @following, :users => @users}

     respond_to do |format|
      format.html  #following.html.erb
      format.xml {render :xml => response}
    end
end

以下观点:

代码语言:javascript
复制
<p><u>Following</u></p>

<% (1..(@following.count)).each do |i| %>

    <% if @users[i].followed_by?(@user) %> 
  <p> <%= @users[i].username %> </p>
   <% end %>
<% end %>

追随者观

代码语言:javascript
复制
<p><u>Followers</u></p>

<% (1..(@followers.count)).each do |i| %>

    <% if @users[i].follows?(@user) %> 
  <p> <%= @users[i].username %> </p>
   <% end %>
<% end %>

我的路线

代码语言:javascript
复制
  resources :users do
  match 'show/:id' => 'user#show'
  collection do
    get 'follow'
    get 'unfollow'
    get 'followers'
    get 'following'
  end

唯一一个看起来工作正常的是/users/followers?user=1

其他的东西要么没有显示,要么显示错了名字。

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-27 16:11:57

您将在@followers中获得所有的关注者,所以请在您的视图中使用这一点:

代码语言:javascript
复制
<p><u>Followers</u></p>

<% @followers.each do |f| %> # f object is of type User.
  # You don't need the if statement that you had,
  # because you already know that they are followers.
  <p> <%= f.username %> </p>
<% end %>

这将打印每个follower的用户名。您所遇到的其他问题是,您的追随者和下面的方法做同样的事情,检查文档中的gem,找出如何获得following,然后构造类似的视图。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15114737

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档