Rails 3.2修改create上的params []值

时间:2012-10-16 18:11:01

标签: ruby-on-rails ruby datetime ruby-on-rails-3.2

我有以下情况,我有一个我想要重新分析的日期时间。我可以使用以下方法在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检查器中。我一定不知道如何使用参数值。

1 个答案:

答案 0 :(得分:1)

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

应该有效