【发布时间】:2015-02-27 10:12:46
【问题描述】:
我正在将数据保存到表中。
Question
title:string
author_id:integer
description:text
upvotes:integer
如果“question.upvotes”的值为1000000000000000000000,则会导致错误,因为它无法保存到“整数”类型列中。
如何抑制此错误?我希望我的程序继续运行,即使记录保存失败。
我试过了,但它并没有抑制错误:
... some code
if my_question.save
end
some more code...
【问题讨论】:
-
会导致什么错误?更新失败时你会看到什么?
-
@NielsAbildgaard 这可能是一个处理 try / catch 语法的一般 Ruby 问题,而不是特定于活动记录 .save 方法
-
错误是
PG::NumericValueOutOfRange: ERROR: value "1000000000000" is out of range for type integer -
或者您可以只测试该值以查看它是否不会保存。也就是说,默默地未能满足用户的期望,也许其他程序员的期望不是一个好的通用设计原则。
标签: ruby-on-rails ruby