У меня есть следующий сценарий, где у меня есть дата и время, которое я хотел бы повторить. Я могу получить следующее, чтобы работать в irb, но у меня, похоже, проблема с нулевыми значениями при работе с параметрами post. напр.Rails 3.2 изменить params [] value on create
Это работает в IRB:
DateTime.strptime("10/25/2012 04:27 pm", "%m/%d/%Y %I:%M %P").strftime("%Y-%m-%d %H:%M:00")
=> "2012-10-25 16:27:00"
Однако при попытке доступа к значению Params я не могу показаться, чтобы получить доступ к самой ценности. напр.
def create
@shipment = params[:shipment]
@shipment.ship_date = format_date(@shipment.ship_date)
.
.
.
end
def format_date(date)
DateTime.strptime(date, "%m/%d/%Y %I:%M %P").strftime("%Y-%m-%d %H:%M:00")
end
Когда я устанавливаю переменную вручную со строкой, она работает. Когда я пытаюсь отработать параметр, он, кажется, равен нулю. даже когда я делаю @ shipment.ship_date.to_s, он преобразует его в "" Я знаю, что этот параметр не пуст, как показывает веб-инспектор моего браузера. Я не знаю, как работать с параметрами.
Это может показаться очевидным, но вы уверены, что значение, которое вы ждете, чтобы быть в 'params' хэш там на самом деле? Что на самом деле выглядит «params»? Кроме того, возможно ли, что ключ является строкой, а не символом? – pje
Да, похоже, там. Параметры: {"utf8" => "✓" "shipment" => {"client_id" => "4", "ship_date" => "10/24/2012 07:27 pm", "commit" => "Создать Отгрузка "} – ctilley79
ли это строка против символа idk. – ctilley79