我的Rails 3应用程序中有2个模型
用户:
class User < ActiveRecord::Base
acts_as_followable
acts_as_follower
has_many :posts
end
发表:
class Post < ActiveRecord::Base
belongs_to :user
end
因此,我可以抓取我关注的用户:User.find(1).following_users
但是如何获取关注用户的帖子?像User.find(1).following_users.posts
答案 0 :(得分:2)
User.find(1).following_users只返回并参考,请看这里:
https://github.com/tcocca/acts_as_follower/blob/master/lib/acts_as_follower/follower.rb#L59
所以,
User.find(1).following_users.includes(:posts)
应包含查询中用户的帖子,但这将返回一组用户。以下应该工作,循环返回的用户并将他们的帖子收集到一个数组
posts = User.find(1).following_users.includes(:posts).collect{|u| u.posts}.flatten
答案 1 :(得分:0)
User.following_users.collect{|u| u.posts}
这应该有效