Ruby on rails 并在方法末尾返回

Ruby on rails 并在方法末尾返回,ruby-on-rails,ruby,Ruby On Rails,Ruby,有时我会发现这样的代码: def bar #...... if response && response.body #...... render(:text => html) and return end end 我想知道,在方法的最后使用和return有什么意义吗?这有助于避免双重渲染错误 我只在方法的底部看到了这样的代码(这很有意义,因为render不是方法的结尾)。但我看不出有什么意义 请参见这确保您在渲染之后返回,因为如果多次调用渲染,

有时我会发现这样的代码:

def bar
  #......
  if response && response.body
    #......
    render(:text => html) and return
  end
end

我想知道,在方法的最后使用
和return
有什么意义吗?

这有助于避免
双重渲染错误

我只在方法的底部看到了这样的代码(这很有意义,因为render不是方法的结尾)。但我看不出有什么意义


请参见

这确保您在
渲染
之后返回,因为如果多次调用
渲染
,则会出现异常:
渲染和/或重定向在此操作中被多次调用

其中一个原因是,如果有人将您的代码编辑为如下所示,您将遇到麻烦:

def bar
  ...
  x = true
  ...
  if x
   render(:text => html)
  end

  ...
  render(:text => html)
end

在这种情况下-不,一点也不.是的。。在这种情况下不会,除非有人在方法的末尾添加更多代码和条件:-)!在方法的最后!如果你看到我在上面的评论,我理解这是在方法的最后。这是为了防止将来的代码编辑在您的代码行之后添加内容,使其不是方法的最后一行。这一点很好。换句话说,计算机不需要运行代码,但它对人工维护很有用。不管@sawa说什么,打印出来并贴在墙上:-)然而,在方法中获得无用的回报并不是惯用的ruby。