Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails:如何获取当前的一周并循环显示它的日期?_Ruby On Rails_Date_Time_Calendar - Fatal编程技术网

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,不,你不需要团员。请参阅上面的更新以按日期查询文章。