Формат Datepicker при инициализации - PullRequest
0 голосов
/ 13 сентября 2018

В моей базе данных есть таблица с колонкой date. Когда я редактирую эту таблицу, значение ввода имеет следующий формат: yy-mm-dd. В моем js-файле я инициализирую указатель даты:

$('#date-input').datepicker({
            numberOfMonths: 1,
            isRTL : $('body').hasClass('rtl') ? true : false,
            prevText: '<i class="fa fa-angle-left"></i>',
            nextText: '<i class="fa fa-angle-right"></i>',
            showButtonPanel: false,
            dateFormat: 'dd-mm-yy'
        });

Как вы можете видеть, я указал формат: dateFormat: 'dd-mm-yy', но он работает только тогда, когда я выбираю дату из средства выбора. Можно ли каким-либо образом установить формат даты пропппера, поэтому при редактировании дата будет, например, 01-09-2018, но не 2018-09-01? Спасибо.

1 Ответ

0 голосов
/ 13 сентября 2018

Вы должны установить правильный формат в шаблоне редактирования.Предположим, что вы используете form_for с объектом:

f.text_field :some_date, @object.some_date.to_formatted_s('dd-mm-yy')

Тогда начальная дата будет той, которая будет понятна в конфигурации формата datepicker.

Вы можете сделать ее менее жестко закодированной с помощью локализации:

f.text_field :some_date, l(@object.some_date, format: :input)
# `l` method is a shortcut for I18n.l, a shortcut for I18n.localize

, а затем укажите формат даты в вашем es.yml (я полагаю, вы не разрабатываете приложение на английском языке с таким форматом):

es:
  date:
    formats:
      input: 'dd-mm-yy'

Таким образом, вы можете изменить форматв одном месте и даже принимать разные языки (вы также можете использовать формат локализации вместо жесткого кодирования формата в вашем скрипте).

...