Использование загрузочного средства выбора даты setDate в Rails

У меня проблемы с настройкой встроенного календаря bootstrap-datepicker-rails.

Моя форма выглядит так: здесь отображается красивый встроенный календарь и скрытое поле для рельсов, чтобы установить/обновить start_date в модели:

<%= form_for task do |f|%>
  <%= f.hidden :start_date %>
  <div id="picker"></div>
  <%= f.submit %>
<% end %>

файл tasks.coffee:

ready = -> 
  $("#picker").datepicker().on 'changeDate', (e) ->
    $("#task_start_date").val(e.date)

$(document).on('page:change', ready) 

Сильные параметры установлены нормально, модель корректно сохраняется/обновляется.

У меня проблема в том, что календарь не показывает дату, когда модель редактируется, и я хотел бы, чтобы он выбрал дату, которая была ранее сохранена.

Когда я редактирую запись, сохраненную с полем start_field, установленным на 12 февраля 2015 года, для значения hidden_field устанавливается значение '2015-02-12 00:00:00.000000'.

Я попытался добавить строку setDate в task.coffee:

ready = -> 
  $("#picker").datepicker().on 'changeDate', (e) ->
    $("#task_start_date").val e.date

  $("#picker").datepicker 'setDate', $("#task_start_date").val()

$(document).on('page:change', ready) 

Но это не работает, так как формат hidden_field неверен. Когда я вручную устанавливаю второй аргумент для «setDate» на «02-12-15», он работает.

Есть ли способ изменить формат метода setDate?

Должен ли я изменить часовой пояс rails на местный?

Как сборщик данных ожидает дату в формате %m-%d-%Y?

Я попытался поиграть с разными форматами, переданными в $("#picker").datepicker(...).on 'changeDate', (e) -> линия, но я не могу заставить ее работать! Я сдаюсь. Кто-нибудь, помогите мне, пожалуйста!

Я ненавижу играться с форматами даты и стандартами времени $%^&$:/


person Kocur4d    schedule 23.02.2015    source источник


Ответы (1)


ИСПРАВИТЬ:

  • Изменение типа столбца на :date с :datetime в модели задачи.
  • Установка формата для средства выбора даты «гггг-мм-дд»
person Kocur4d    schedule 24.02.2015