Ruby on rails Rails发布日期参数
我正在尝试建立一个Rails博客,目前正处于最后阶段。我已经设法解决并开发了Wordpress博客的大部分(如果不是全部的话)功能,但目前阻碍我的一个功能是能够拥有博客的“存档”。 我知道如何按日期时间显示帖子和/或对在特定时间创建的帖子进行排序,但我不确定如何拥有一个包含月份和年份的页面并显示这些帖子 比如说 我在2014年7月上传了一篇文章,我怎么能让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月创建的文章 我的主要问题是创建一个带有集合字段的新参
/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 linedate=date.parse(params[:monthyear])
导致了一个无用的错误没有将nil隐式转换为字符串
这可能意味着params[:monthyear]
为零。您是否添加了路线并将:month\u name
更改为:monthyear
?monthyear
是一个日期时间字段,它曾经是一个字符串,但我更改为日期时间(是否应更改回字符串),是的,我确实在路由中将month_name更改为monthyear。我添加了一个名为month_name
的新字符串列,并在控制器和路由中实现了您的代码,但我仍然没有将nil隐式转换为字符串