2012-10-16 45 views
1

我有以下场景,我有一个日期时间,我想重新分析。我可以在irb中获得以下工作,但是在使用post参数时,我似乎遇到了无值的问题。为前。当我试图访问一个PARAMS值我似乎无法访问本身的价值Rails 3.2修改参数[]值创建

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" 

但是:

这个工作在IRB。为前。

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

这似乎是显而易见的,但你确定你希望是在'params'哈希值实际上是在那里? “put params”在这一点上看起来像什么?另外,密钥可能是字符串而不是符号吗? – pje

+0

是的,它似乎在那里。参数:{“utf8”=>“✓”“shipment”=> {“client_id”=>“4”,“ship_date”=>“2012年10月24日07:27”,“commit”=>“Create装运“} – ctilley79

+0

无论它是一个字符串与符号idk。 – ctilley79

回答

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

应该工作