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 に答える