Rails:如何将before_update方法中的错误引发给用户

时间:2012-12-29 20:00:39

标签: ruby-on-rails-3

我已经搜索了很多这个问题而没有运气......

我有一个带有before_update方法的模型,我无法用验证器替换它,因为实际方法会检查许多事物的存在并更新许多其他事物。我的问题是,如果来自before_update方法的进程失败,我怎么能引发错误?类似的东西:

def update_status
    if !(many verifications and updates)
       self.errors[:base] << "Could not update if ...."
    end
end

使用abobe代码我在页面加载后从控制器获得更新通知,但我想显示before_update方法的错误。如何向用户显示错误?

非常感谢!!

1 个答案:

答案 0 :(得分:0)

def update_status
    if !(many verifications and updates)
       raise "Could not update if ...."
    end
end

现在在控制器上显示错误消息,您可以执行以下操作:

begin
  @myObject.update_status
rescue => ex
  flash[:notice] = ex.message
end