2011-05-26 118 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