redirect_to vs redirect_to并返回

时间:2016-01-17 19:07:37

标签: ruby-on-rails

我怀疑如果两个命令之间存在差异,当我想要创建一个没有轨道视图的动作时,我总是使用redirect_to并且在它之后没有返回我和#39从来没有遇到过任何问题,但是直到我忘记放redirect_to我才意识到导轨建议redirect_to and return如果我不想看到这个动作,那么我奇怪,添加退货时有什么不同吗?至少在我的情况下,我从未注意到任何差异或错误。

1 个答案:

答案 0 :(得分:24)

redirect_to将导致跳过任何自动渲染。

您只需要返回'如果您需要绕过该操作中的其他代码。如果进一步的代码显式render,那么您必须执行return以避免重定向错误并使两者都存在。

例如,update操作中的典型模式可能是......

def update
  @record = Record.new(record_params)
  if @record.save
    flash[:success] = "record was successfully saved"
    redirect_to records_path
    return
  end
  flash.now[:error] = "please fix the problems in the record"
  render :edit
end