有时我会发现这样的代码:
def bar
#......
if response && response.body
#......
render(:text => html) and return
end
end
我想知道,在方法的最后使用and return
是否有任何意义?
答案 0 :(得分:5)
这有助于避免double render errors
。 Layouts and Rendering
答案 1 :(得分:2)
我看到这样的代码不在方法的底部(这是有道理的,因为渲染不是方法的结束)。但在这里我没有看到任何意义。
答案 2 :(得分:0)
这可确保您在render
之后返回,因为如果您多次致电render
,则会收到例外情况:Render and/or redirect were called multiple times in this action
其中一个原因是,如果有人编辑您的代码,如果您的代码变为如下,则会遇到麻烦:
def bar
...
x = true
...
if x
render(:text => html)
end
...
render(:text => html)
end