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

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


arrow_upward
0
arrow_downward

Используете ли вы средство выбора даты пользовательского интерфейса 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