我有关注项目的用户。项目有博客文章。
我的目标是汇总用户关注的项目的博客文章并按最新列出。现在,我只能列出一个项目的所有博客文章,然后才能列出下一个项目的博客文章,以此类推。有没有一种简单的方法来修复它,以便它列出所有项目的所有博客文章最近?
用户.rb
has_many :projects
scope :newest, order("created_at desc")
项目.rb
has_many :blogposts, :dependent => :destroy
博文.rb
belongs_to :project
belongs_to :user
scope :newest, order("created_at desc")
users_controller.rb
def show
@user = User.find_by_permalink(params[:permalink])
@projectsfollowed = @user.followed_projects.newest.page(params[:projectsfollowed_page]).per_page(10)
end
显示.html.erb
<% @projectsfollowed.each do |project| %>
<% project.blogposts.newest.each do |blogpost| %>
<%= render blogpost %>
<% end %>
<% end %>
更新 我一直在尝试在我的控制器中使用一个数组,但我无法将它与最近的分页一起列出。请看下面:
blogids = Array.new
@projectsfollowed.each do |project|
project.blogposts.each do |blogpost|
blogids.push(blogpost[:blogpost.id])
end
end
@blog_posts = Blogpost.find(blogids)
更新了 show.html.erb
<% @blog_posts.each do |blogpost| %>
<%= render blogpost %>
<% end %>