我遵循了如何在Michael Hartl's tutorial中构建Feed。我的用户模型中有这个方法:
def feed
Video.from_users_followed_by(self)
end
这在我的视频模型中:
scope :from_users_followed_by, lambda { |user| followed_by(user) }
def self.followed_by(user)
followed_ids = %(SELECT followed_id FROM relationships
WHERE follower_id = :user_id)
where("user_id IN (#{followed_ids})", { :user_id => user })
end
为了检索用户创建的所有视频,然后是current_user。
然后我在我的videos_controller中使用了这个方法:
def feed_display
@videos = current_user.feed.page(params[:page]).per(15)
end
然后我在videos/feed_display.html.erb
视图中渲染部分:
<div id ='video_div'>
<%= render @videos, :collection => @videos %>
</div>
以显示用户关注的用户创建的所有视频。
现在我想在Feed中添加另一个资源,以便它包含用户所关注的用户的视频和video_votes。
我正在考虑将我的视频模型的模型范围代码复制到我的video_vote模型中,然后添加这一行:
VideoVote.from_users_followed_by(self)
到feed
方法,看起来像:
def feed
Video.from_users_followed_by(self)
VideoVote.from_users_followed_by(self)
end
我的问题是我应该如何修改我的feed_display
方法和feed_display
视图,以便它不仅可以显示视频而且还可以显示投票?
答案 0 :(得分:0)
您可以修改SQL查询以包含带有UNION语句的第二个模型。