Таблица в ERB с названиями дней недели - PullRequest
0 голосов
/ 03 ноября 2011

Я очень новичок в Ruby / Rails и просто пытаюсь найти самый элегантный способ сделать таблицу в ERB, где столбцы - это день недели, а строки - каждая запись для данной модели.Сама концепция проста, и я, вероятно, могу сделать это через кучу ручного кода, но я бы хотел использовать как можно больше магии rails / erb.Чтобы быть более конкретным, вот что я определил.

  • Модель, которая перечисляет всех пользователей
  • Модель, которая перечисляет один статус для каждого пользователя на данную дату (каждый пользовательможет иметь только один статус на определенную дату: скажем «включено» или «выключено»)

Я хочу представление, в котором перечислены все пользователи в таблице с их статусом на эту неделю.Например:

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

Несколько замечаний: - (как я уже упоминал). У пользователя может быть только один статус в день. - У пользователя может не быть статуса в данный день. - Нет столбцов для сб./ Sun - В таблице всегда будет отображаться полная текущая неделя, даже если этот день установлен на вторник (т. Е. В этом случае записи ср .. пт будут пустыми).

Теперь я сноваКонечно, я могу написать кучу кода erb, чтобы сделать все это вручную, но надеялся использовать магию рельсов.Любые указатели или помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 05 октября 2012

Вы всегда можете сделать что-то вроде:

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

Затем переберите @days по вашему мнению.

Вы можете напечатать дату или просто день в строках таблицы часов. Полезно тем, что вы также можете просматривать статус своих пользователей, используя эту дату.

...