ERB中的工作日名称表

时间:2011-11-02 21:25:58

标签: ruby-on-rails erb

我是Ruby / Rails的新手,我正在尝试找到在ERB中执行表的最优雅的方法,其中列是工作日,行是给定模型的每个记录。概念本身很简单,我可以通过一堆手动代码来实现,但我想尽可能多地利用rails / erb魔法。更具体地说,这就是我定义的内容。

  • 列出所有用户的模型
  • 为给定日期列出每个用户的单一状态的模型(每个用户在给定日期只能有一个状态:说'开'或'关')

我想要一个视图,列出表中具有该周状态的所有用户。例如:

       Mon | Tue | ... | Fri
User1   on | off | ... |
User2  off |     | ... |

有几点需要注意: - (正如我已经提到的)用户每天只能拥有一个状态 - 用户可能在某一天没有任何状态 - 没有Sat / Sun的列 - 表格将始终显示整个当前周,即使当天是星期二(即,在这种情况下,星期三......星期五条目将只是空白)。

现在,再次,我确信我可以编写一堆erb代码来手动执行此操作,但希望使用一些rails魔法。任何指针或帮助将非常感激。

1 个答案:

答案 0 :(得分:2)

您可以随时执行以下操作:

@monday = Date.today.at_beginning_of_week
7.times do |x|
  @days << x.days.since(@monday)
end

然后在你的视图中循环@days。

您可以打印日期,也可以只打印小时表行中的日期。有用的是,您还可以使用该日期查找用户状态。