我有博客帖子,我想提出2个不同的节目视图。我想要显示最近的4个帖子,但我的所有帖子都是2个不同:post_types
中的1个(经理或用户)。所以我希望1个视图显示4个最近的经理帖子,另一个视图显示4个最近的用户帖子。我应该把这个逻辑,控制器或模型中的某个位置放在哪里,如何制作一个方法来获取每种类型的最近4个帖子?
目前我在控制器中有这个
def index
@blog1 = Post.order(:date => :desc).first
@blog2 = Post.order(:date => :desc).offset(1).first
@blog3 = Post.order(:date => :desc).offset(2).first
@blog4 = Post.order(:date => :desc).offset(3).first
end
但它没有按类型
分隔帖子答案 0 :(得分:1)
这将完成这项工作:
def index
@manager_posts = Post.where(post_type: 'Manager').order('date DESC').limit(4)
@user_posts = Post.where(post_type: 'User').order('date DESC').limit(4)
end
然后在你看来
<% @manager_posts.each do |manager_post| %>
<%= manager_post.content %>
<% end %>
<% @user_posts.each do |user_post| %>
<%= user_post.content %>
<% end %>
答案 1 :(得分:0)
这似乎得到了它
@blog1 = Post.where(:post_type == 'Manager' ).order(:date => :desc).first