Ruby on rails RubyonRails:如何获取当前的一周并循环显示它的日期?
上图就是我的意思。 我认为代码应该是这样的:Ruby on rails RubyonRails:如何获取当前的一周并循环显示它的日期?,ruby-on-rails,date,time,calendar,Ruby On Rails,Date,Time,Calendar,上图就是我的意思。 我认为代码应该是这样的: <% @days_from_this_week.each do |day| %> <%= day.name %> <!--e.g. Monday--> <% day.sessions do |session| %> <% @session_categories.each do |category| %>
<% @days_from_this_week.each do |day| %>
<%= day.name %>
<!--e.g. Monday-->
<% day.sessions do |session| %>
<% @session_categories.each do |category| %>
<!--categories means the Sesion1/2/3/4 category
A day's sessionX could be empty, so we have to determine wheather a session matches its cateogry,
and then display it in the table
-->
<% if session.category == category %>
<%= session.content %>
<% end %>
<% end %>
<% end %>
<% end %>
def current_week
date = Date.today.beginning_of_week
return (date..date + 6.days).to_a
end
解决办法是
本周的方法如下所示:
<% @days_from_this_week.each do |day| %>
<%= day.name %>
<!--e.g. Monday-->
<% day.sessions do |session| %>
<% @session_categories.each do |category| %>
<!--categories means the Sesion1/2/3/4 category
A day's sessionX could be empty, so we have to determine wheather a session matches its cateogry,
and then display it in the table
-->
<% if session.category == category %>
<%= session.content %>
<% end %>
<% end %>
<% end %>
<% end %>
def current_week
date = Date.today.beginning_of_week
return (date..date + 6.days).to_a
end
然后,当您拥有day数组时,可以使用strftime来格式化日期
day.strftime("%A") # prints weekday name
在您的控制器中尝试此操作,您将从本周开始设置
@days\u
today = Date.today # Today's date
@days_from_this_week = (today.at_beginning_of_week..today.at_end_of_week).map
要显示其功能,请执行以下操作:
> (today.at_beginning_of_week..today.at_end_of_week).map.each { |day| day }
> [Mon, 12 Aug 2013, Tue, 13 Aug 2013, Wed, 14 Aug 2013, Thu, 15 Aug 2013, Fri, 16 Aug 2013, Sat, 17 Aug 2013, Sun, 18 Aug 2013]
更新查询文章的附加请求,发布日期:
查找从开始日期午夜到第二天之间的所有文章
start_time = Time.parse(date.to_s)
end_time = 1.day.since(start_time)
Article.where('published_on >= ? and published_on < ?', start_time, end_time)
start\u time=time.parse(date.to\s)
结束时间=1天。自(开始时间)
文章。其中('published_on>=?和published_on<?',开始时间,结束时间)
需要的信息不仅仅是这些。本周的@days\u和@session\u类别是什么?它们之间有什么关系?@days\u from\u this\u week
指的是本周的天数,这就是我要问的如何获取本周的天数@session\u categories
意味着一个会话可以属于不同的类别(见表格图片,有session1/2/3/4),因此我必须循环遍历它们以确定会话是否与类别匹配,然后显示它。会话
属于类别
,一个会话
有一个日期
和一个类别
属性。或者用这种方式说,@days\u from\u this\u week
意味着我需要获取当前周中的所有日期(一个数组)
。例如,[2013/8/12..2013/8/18],因此我可以循环显示每天的会话最后一条评论对我来说更有意义:)我如何使用current_week
循环打印其中的日期?比如[2013/8/12..2013/8/18]是的,它是有效的。另一个问题:如何显示一天
的文章
?例如,一篇文章有一个published\u on
属性,它是文章发布的日期<代码>日期。文章不起作用。有什么叫团员的吗?@cqcn1991,不,你不需要团员。请参阅上面的更新以按日期查询文章。