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

Я использую 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?


person Dave    schedule 09.02.2016    source источник


Ответы (1)


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

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

$('#day').datepicker
    dateFormat: 'yy-mm-dd'
person croceldon    schedule 10.02.2016
comment
после этого вызов params[:day] по-прежнему возвращает ноль, несмотря на то, что я что-то выбрал в своем средстве выбора даты. - person Dave; 11.02.2016
comment
Ах, все работало, когда я вместо user_object_params[:day] использовал. - person Dave; 11.02.2016