0

如何创建一个友谊对象以在控制器中使用它?

为了友谊,我在我的客户中有以下自引用方法,但我希望能够在我的控制器中调用如下内容

allevent = Friends.articles.all

我的关系怎么能在这里完成

  has_many :friends, :through => :friendships,
           :conditions => "status = 'accepted'"

谢谢你的帮助!

更新我有一个名为 Friendship 的额外模型,并且有如下方法

  # Accept a friend request.
  def self.accept(customer, friend)
    transaction do
      accepted_at = Time.now
      accept_one_side(customer, friend, accepted_at)
      accept_one_side(friend, customer, accepted_at)
    end
  end

  # Update the db with one side of an accepted friendship request.
  def self.accept_one_side(customer, friend, accepted_at)
    request = find_by_customer_id_and_friend_id(customer, friend)
    request.status = 'accepted'
    request.accepted_at = accepted_at
    request.save!
  end

我希望它在我的假设中说 POST 控制器索引

我想查看我的朋友创建的所有帖子,如查询已关注

@friendspost = Friends.post.all
4

1 回答 1

1

试试这个:

friends = @user.friends
@posts = Post.where('user_id IN (?)', friends)

如果您只需要朋友的id帖子来获取他们的帖子,那么您甚至可以这样做:

friends = @user.friends.pluck(:user_id)

注意:我不确定你是否有一个命名的模型user,所以如果你没有,只需切换usercustomer或任何你的模型。

于 2013-02-06T03:12:27.037 回答