Я создаю API, который служит в недельных календарях (с понедельника по воскресенье) в формате JSON. Сейчас каждый календарь недели имеет имя атрибута '(строка),' start_date '(объект времени, ссылающийся на понедельник, когда начинается календарь). Я пытаюсь использовать jbuilder gem, который поставляется с Rails.Рельсы: атрибут настройки одного объекта, обслуживаемого jbuilder
Проблема:
1) Calendars GET users/user_id/calendars/calendar_id serves JSON with information about the calendar
Failure/Error: expect_json({name: calendar.name, start_date: Date.new(2015, 3, 2).strftime('%Y%m%d')})
expected: "20150302"
got: "2015-03-02T00:00:00.000Z"
(compared using ==)
# ./spec/requests/calendars_spec.rb:14:in `block (3 levels) in <top (required)>'
Я хочу, чтобы настроить формат, в котором start_date выводится незначительно, потому что тогда это будет легче иметь дело с на интерфейсе. Это я знаю, как это сделать (Time.now.strformat (% y% m% d) или что-то еще), но я не знаю, как это сделать в контексте jbuilder. Это то, что у меня есть в моем файле JBuilder:
json.extract! @calendar, :name, :start_date
Я пробовал много синтаксиса от застройщика документы, но все они, кажется, относится к случаям, когда я подаю массив JSON. В этом случае я пытаюсь служить представлению JSON для одной модели.
Мой первый вопрос о stackoverflow, поэтому я надеюсь, что это относительно ясно. Проверьте ожидаемое представление о том, чего я хочу.
Определенно ответ шпильки. –
Замечательно, спасибо. Я неправильно написал - это дата, которую я хочу сохранить. – Guacamolay