1

我有以下场景,我有一个想要重新解析的日期时间。我可以在 irb 中使用以下内容,但是在使用 post 参数时,我似乎遇到了 nil 值的问题。例如。

这适用于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 时,它也会将其转换为 "" 我知道该参数不是空的,因为它在浏览器的 Web 检查器中显示。我一定不知道如何使用参数值。

4

1 回答 1

1
format_date(params["shipment"]["ship_date"])

应该管用

于 2012-10-16T18:34:28.907 回答