Используйте короткую дату и время в rails collection_select - PullRequest
2 голосов
/ 20 октября 2011

Это небольшое раздражение, на котором я ничего не могу найти.

У меня есть выбор коллекции для объекта Встреча, который показывает время доступных встреч:

f.collection_select :appointment_id, @available, :id, :time, {:prompt => "Select a time"}

Отображается с использованием стандартного формата DateTime: 2011-10-31 08:00:00 UTC но я бы действительно предпочел короткий формат, например:

appointment.time.to_s(:short)

, который отображается как 31 октября 08: 00

Не могу найти синтаксис при работе с символом. Кто-нибудь знает это?

1 Ответ

4 голосов
/ 20 октября 2011

[Хотя есть обручи, которые вы можете перепрыгнуть, если хотите сохранить чистоту MVC (форматирование даты, вероятно, не то, о чем следует беспокоиться модели), я думаю, что это достаточно просто, чтобы быть в порядке.]

Добавьте метод в вашу модель, который даст вам строку, которую вы хотите увидеть.

def short_time
  time.to_s(:short)
end

Затем используйте :short_time в качестве символа text_method в collection_select.

...