如何按类型和最近的日期轨道调用实例

时间:2015-12-25 21:49:58

标签: ruby-on-rails mongoid

我有博客帖子,我想提出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

但它没有按类型

分隔帖子

2 个答案:

答案 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