Rails日期转换,无效日期错误

时间:2015-05-19 14:45:35

标签: ruby-on-rails ruby

我正在将数据发布到我的Rails API,要在创建的记录上设置的字段之一如下所示:

{
  "sign_date": "04/13/2015"
}

在我的Rails API中,我在插入数据之前将其格式化为:

Date.strptime(params[:sign_date], "%m/%d/%Y").strftime("%Y-%m-%d")

然而,Rails正在回吐一个模糊的Invalid Date错误。数据必须是Date类型才能创建记录并正确设置日期吗?

这里有什么问题?

3 个答案:

答案 0 :(得分:0)

当我意外地尝试解析一个空字符串时,我收到了该错误 - 检查您的参数是否正确到达以及您期望它们的位置。

> Date.strptime('', '%m/%d/%Y')
ArgumentError: invalid date

答案 1 :(得分:0)

我希望这会奏效,

Rails控制台中试用。

Time.strptime("04/13/2015", "%m/%d/%Y").strftime("%Y-%m-%d")

#Output

"2015-04-13"

答案 2 :(得分:0)

试试这个 Date.strptime(params["sign_date"], "%m/%d/%Y").strftime("%Y-%m-%d")

有关详细信息,请查看Hash with indifferent access