友谊模型与铁路2种方式

时间:2013-02-06 02:31:35

标签: ruby-on-rails ruby ruby-on-rails-3

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

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

allevent = Friends.articles.all

如何在这里完成我的关系

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

感谢您的帮助!

更新我有一个名为友谊的额外模型,方法已关注

  # 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

1 个答案:

答案 0 :(得分:1)

试试这个:

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

如果您只需要朋友'id来发帖,那么您甚至可以这样做:

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

注意:我不确定您是否有名为user的模型,如果不这样做,只需将user切换为customer或其他你的模特是。