Rails发布日期参数

时间:2014-07-02 18:06:08

标签: ruby-on-rails date ruby-on-rails-4 parameters

我正在尝试构建一个Rails博客,目前我处于最后阶段。我已经成功地开发并开发了大部分(如果不是全部)Wordpress博客的功能,但目前阻止我的是能够拥有博客的“存档”。 我知道如何显示帖子的日期时间和/或排序在特定时间创建的帖子,但我不确定如何有一个月份和年份的页面并显示这些帖子。

例如 我在2014年7月上传了一篇文章,我怎么能自动让rails创建一个名为/july-2014的新页面,然后自动显示Posts where created_at == july 2014

使用set字段创建新参数是我的主要问题。

由于

1 个答案:

答案 0 :(得分:1)

您需要为/july-2014等路线提供全能路线,因此请将其放在路线文件的底部:

get '/:month_name', to: 'posts#index'

字符串July-2014实际上应该是可解析的,所以试一试:

Class PostController < ApplicationController
  def index
    date = Date.parse(params[:month_name])
    @posts = Post.where("created_at >= ? AND created_at <= ?", date.beginning_of_month, date.end_of_month)
  end
end

这个例子是最低限度的,您可能希望防范无效日期和丢失month_name参数