25

我正在使用 Ruby on Rails 3,我想知道什么类型的返回将具有以下代码:

@user.destroy

我需要它以某种方式处理成功错误的案例:

if @user.destroy
  puts "True"
else
  puts "false"
end

可能吗?如果是这样,怎么做?

4

2 回答 2

37

在询问之前,您应该先尝试您要询问的内容。你在那里得到的东西会很好用。

如果销毁有效,它将返回对象(它将在 if 语句中作为 true 传递),如果没有,它将返回 false 或引发异常,具体取决于失败的原因。

于 2011-02-07T14:30:20.343 回答
18

这是可能的。destroy 方法返回被销毁的对象;您可以destroyed?在此 ActiveRecord 对象上使用来检查该对象是否被有效销毁:

if @user.destroyed?
  puts "True"
else
  puts "false"
end
于 2011-02-07T14:28:16.523 回答