Ruby on rails Rails发布日期参数

Ruby on rails Rails发布日期参数,ruby-on-rails,date,ruby-on-rails-4,parameters,Ruby On Rails,Date,Ruby On Rails 4,Parameters,我正在尝试建立一个Rails博客,目前正处于最后阶段。我已经设法解决并开发了Wordpress博客的大部分(如果不是全部的话)功能,但目前阻碍我的一个功能是能够拥有博客的“存档”。 我知道如何按日期时间显示帖子和/或对在特定时间创建的帖子进行排序,但我不确定如何拥有一个包含月份和年份的页面并显示这些帖子 比如说 我在2014年7月上传了一篇文章,我怎么能让rails自动创建一个名为/July-2014的参数的新页面,然后自动显示在2014年7月创建的文章 我的主要问题是创建一个带有集合字段的新参

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

比如说 我在2014年7月上传了一篇文章,我怎么能让rails自动创建一个名为
/July-2014
的参数的新页面,然后自动显示
在2014年7月创建的文章

我的主要问题是创建一个带有集合字段的新参数


谢谢

对于像2014年7月
这样的路线,您需要一个全面的路线才能工作,因此请将此放在路线文件的底部:

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
Class PostController@posts=Post.where(“created_at>=”和created_at This line
date=date.parse(params[:monthyear])
导致了一个无用的错误
没有将nil隐式转换为字符串
这可能意味着
params[:monthyear]
为零。您是否添加了路线并将
:month\u name
更改为
:monthyear
?monthyear
是一个日期时间字段,它曾经是一个字符串,但我更改为日期时间(是否应更改回字符串),是的,我确实在路由中将month_name更改为monthyear。我添加了一个名为
month_name
的新字符串列,并在控制器和路由中实现了您的代码,但我仍然没有将nil隐式转换为字符串