没有删除记录时引发异常

时间:2014-03-03 15:47:50

标签: ruby-on-rails activerecord

我正在为用户可以发布内容的应用程序实现后端。用户可以随时删除其内容,但禁止删除其他内容。

我的代码部分如下所示:

Content.where(content_id: id, user_id: current_user.id).delete_all

如果没有删除记录,有没有办法让它引发异常?

我也在使用设计来处理注册和身份验证过程。设计是否提供了更优雅地进行检查的方法?

2 个答案:

答案 0 :(得分:1)

delete_count = Content.where(content_id: id, user_id: current_user.id).delete_all
raise MyException if delete_count.zero?

答案 1 :(得分:0)

这个怎么样?

contents = Content.where(content_id: id, user_id: current_user.id)
if contents.empty?
  raise StandardError.new("No Content") #or your custom exception
else
  contents.delete_all
end