在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
表达式的末尾,它的功能是什么?
答案 0 :(得分:2)
在Rails中,redirect_to
不会从方法返回,只会为响应设置标头。您必须显式返回它才能停止执行并继续响应。您也可以编写代码,
return redirect_to root_url