我在 Controller 中有这个:

pickuptime = params[:appointment][:pickuptime]
pickuptime = DateTime.strptime(pickuptime, "%m/%d/%Y %l:%M %p %Z")

如果 rescue 回退一个 DateTime.strptime 错误并将其重定向回带有“无效日期”的闪现消息的上一页,我想对它进行 Invalid Date。我怎样才能做到这一点?

我正在使用 Ruby 2.1.2 和 Rails 4.1.4。谢谢!

最佳答案

您可以在 Controller 中执行此操作:

begin
  pickuptime = params[:appointment][:pickuptime]
  pickuptime = DateTime.strptime(pickuptime, "%m/%d/%Y %l:%M %p %Z")
rescue ArgumentError => e
  flash[:error] = e.message
  redirect_to :back
  return
end
Invalid Date 错误应该是带有您想要的消息的 ArgumentError 异常。

10-08 02:25