2011-05-26 79 views
25

Rails中有相当于PHP的die()吗?Rails相当于php die()?

我有一个情况,它会使我的控制器代码更清洁一些,有时会调用渲染两次,除非有die()。

+0

你试图做一个'return'? (没有参数) – 2011-05-26 19:44:33

+0

@Andrei S,这可以工作,但我有几个使用共同resond方法的操作,我只是想在通用响应方法中调用“die”一次。 – tybro0103 2011-05-26 19:52:08

回答

46
abort("Message goes here") 

参见:How to create an exit message

+1

更好的答案是'render:text =>“消息传到这里​​”' – skcin7 2012-11-09 07:16:22

+5

我不会假装成为Ruby专家,但根据[本文](http://guides.rubyonrails.org/layouts_and_rendering.html )看起来'render'与PHP的'die()'是不相称的,因为在调用'render'后执行会继续。 – 2012-11-10 09:00:20

1

PHP的die() Ruby中的直接映射是Kernel::exit()

+1

呃,它确实不是。 'Kernel :: exit()'引发了一个SystemExit异常,这个异常可以被捕获和忽略。虽然PHP的die()确实允许析构函数运行,但这是一种不同的情况,称它为直接映射是完全不准确的。 – 2014-11-07 19:05:41