Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Возникли проблемы с извлечением параметра даты из отправки формы

Автор вопроса: DaveОтветов: 1

Я использую Rails 4.2.3 с MySQL 5.5.37. У меня есть поле DATE в моей модели и следующее в моей форме...

<div class="field">
  <%= f.label :day %><br>
  <%= f.text_field :day, :class => 'datepicker' %>
</div>

Поскольку мой конвертер даты имеет формат даты "мм/дд/гг", а MySQL требует, чтобы он был "гггг-мм-дд", я хочу преобразовать строку даты. Итак, в моем контроллере у меня есть

@date = DateTime.parse(params[:day])
@mysql_formatted_date = @date.strftime('%Y-%m-%d')
@user_object = UserObject.find_by_user_id_and_object_and_day(@current_user.id, params[:object], @mysql_formatted_date)

но Rails жалуется: "нет неявного преобразования nil в String". Есть ли более простой способ преобразовать мою дату в формат, в котором ее может искать MySQL?

ruby-on-railsargumentsform-submitdate-format

Ответы

Ответ 1 · croceldon

Используете ли вы средство выбора даты пользовательского интерфейса jQuery? Если это так, просто установите для поля формат, ожидаемый MySQL.

В кофескрипте:

$('#day').datepicker
    dateFormat: 'yy-mm-dd'

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы