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