我提交的表单中有两个 datetime 值 starts_at 和 ends_at
在表单中我用了 bootstrap-datetimepicker-rails 这个 gem,提交出来的样子:
{"utf8"=>"✓",
"authenticity_token"=>"zXx7SbNwHcGx1zHiQrNXMo9CLJx/xnhBfiXVv+Pw5HQ=",
"request"=>{"description"=>"test",
"starts_at"=>"12-17-2013 01:28 PM",
"ends_at"=>"12-25-2013 01:28 PM",
"commit"=>"Submit"}
但得到了argument out of range的报错,我初步估计是因为提交的 starts_at 和 ends_at 是 string 而非 datetime 值
我想用将其在提交前转换成标准的 datetime 值
DateTime.strptime("06/18/2013", "%m/%d/%Y")
但在 controller 中需要将这行转行代码加入到哪里呢?由于是 rails 4 的项目,所以用的是 strong parameters Post.create(post_params)
,是将转换的操作放到 strong parameters 中吗?
private
def post_params
params.require(:post).permit(:description, :starts_at, :ends_at)
end