指定日期红宝石在铁轨上的热门帖子

时间:2013-12-12 09:37:42

标签: ruby-on-rails

请帮我实现posts_controller的操作,例如:1天,每周,每月和所有时间的热门帖子。我可以使用诸如scope :top_week, lambda {order("posts.view DESC").where("created_at < ?", DateTime.now - 1.week)}之类的范围来解决这个问题吗?如何在视图文件中创建指向它们的链接?

2 个答案:

答案 0 :(得分:0)

您需要将问题分成几个部分:

1 - 在控制器中创建变量

@posts = Post.all
@top_post_weekly = @posts.top_weekly

然后在帖子模型

中创建你的范围
scope :top_weekly, -> { your query }

然后将它们放入你的观点

<% @top_posts_weekly.each do |post| %>
  <%= post.text %>
<% end %>

类似这样的事情

答案 1 :(得分:0)

根据需要在模型文件中定义范围,并查看控制器中用于调用范围方法的has_scope gem https://github.com/plataformatec/has_scope