防止或捕获活动记录错误

时间:2013-07-15 15:52:24

标签: ruby-on-rails activerecord

The conversion of the nvarchar value '156756756777777777' overflowed an int column.

是否有最好的实用方法来捕获上述活动记录错误?这可能发生在网址被篡改和用户尝试访问无效ID时。

我已经在使用:

rescue_from ActiveRecord::RecordNotFound, :with => :rescue_not_found

捕获未找到的记录。

2 个答案:

答案 0 :(得分:0)

您始终可以使用find_by_id,这将返回nil而非投掷错误。

where(:id => 123).first,如果记录不存在,将返回nil

注意:这些查找器的Rails 4语法是:

Post.find_by({ :id => 123 })

答案 1 :(得分:0)

我能够将以下内容添加到ApplicationController>

rescue_from异常,:with => :rescue_not_found