redirect_to vs redirect_to并返回

Pat*_*ard 11 ruby-on-rails

我怀疑,如果两个命令之间存在差异,当我想在轨道中创建没有视图的动作时,我总是使用redirect_to它之后没有返回并且我从来没有遇到任何问题,但直到我忘记了redirect_to我意识到rails建议做一个redirect_to and return如果我不想有动作的视图,那么我想知道,添加返回时有什么区别吗?至少在我的情况下我从来没有注意到任何差异或错误.

Ste*_*zyn 26

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
Run Code Online (Sandbox Code Playgroud)