【问题标题】:Populating tables with Dynamic Dates in Ruby on Rails在 Ruby on Rails 中使用动态日期填充表
【发布时间】:2012-11-20 18:44:44
【问题描述】:

我目前正在开发一个预约应用程序,其中搜索结果显示在表格中,并且列包含特定时间的按钮。请查看随附的屏幕截图:

我正在寻找一种方法,将 10 月 1 日至 10 月 7 日(如屏幕截图所示)等日期动态填充为当前周日期,例如在当前周,星期一是 11 月 19 日,星期日是 25 日十一月。我已经在网上搜索以找到一种方法来做到这一点,并且我已经搜索了 Ruby Toolbox 以找到可以帮助我实现这一目标的东西,但到目前为止还没有成功。

任何人都可以推荐一种合适的方法吗?

谢谢

【问题讨论】:

    标签: ruby-on-rails ruby date ruby-on-rails-3.2 actioncontroller


    【解决方案1】:

    我会尝试将之前的答案解决方案与 DateTime.now.beginning_of_week 结合起来:

    week_beginning = DateTime.now.beginning_of_week
    
    7.times do |day_number|
    
      day = week_beginning + day_number.days
    
      #assuming we start at 8:30AM
      first_hour = day + 8.hours + 30.minutes
    
      #you have the 'pivot' for the day, just create as much time ranges as you want now
      hour1 = first_hour + 1.hour
      hour2 = ...
      # (Obviously you will somehow iterate to get all the hours)      
    end
    

    Rails 日期和时间支持真的很棒,看看 ActiveSupport 的扩展。

    【讨论】:

      【解决方案2】:

      你可以做类似的事情

      Time.now + 1.day
      Time.now + 2.day
      ...
      

      在您的视图中为 7 天获取一周中每一天的日期,只需将 Time.now 替换为您想要开始的任何日期。这是否实现了您的目标?

      【讨论】:

      • 不。你的方法只适用于一天的开始。如果是星期一,我们可以像你提到的那样做一些事情来获取本周剩余的日期,但如果是星期二呢?
      • Okeen 的回答提供了一个更完整的例子来说明你想要做什么,我会看看那个。
      猜你喜欢
      • 2018-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多