从控制器返回

时间:2016-01-20 17:40:28

标签: ruby-on-rails return

在Ruby中,方法内部的显式返回通常放在表达式之前,并返回该表达式的值,如下面的代码所示:

def method_with_explicit_return
  :a_non_return_value
  return :return_value
  :another_non_return_value
end

assert_equal :return_value, method_with_explicit_return

除非使用和评估条件(如在return :return_value unless a < b中),否则忽略返回表达式之后的任何代码。

在Ruby on Rails中,我在控制器操作中遇到了以下表达式:

redirect_to root_url and return

为什么return放在redirect_to表达式的末尾,它的功能是什么?

1 个答案:

答案 0 :(得分:2)

在Rails中,redirect_to不会从方法返回,只会为响应设置标头。您必须显式返回它才能停止执行并继续响应。您也可以编写代码,

return redirect_to root_url