怎么用ActiveRecord'destroy'方法在Ruby on Rails中返回一个布尔值?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (15)

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

@user.destroy

我需要这样:

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

提问于
用户回答回答于

如果destroy工作,它将返回该对象(在if语句中它将作为true传递),否则将返回false或引发异常,具体取决于它失败的原因。

用户回答回答于

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

if @user.destroyed?
  puts "True"
else
  puts "false"
end

扫码关注云+社区