我怀疑,如果两个命令之间存在差异,当我想在轨道中创建没有视图的动作时,我总是使用redirect_to而后面没有返回并且我从来没有遇到任何问题,但直到我忘记了redirect_to我意识到rails建议做一个redirect_to并返回如果我不想查看动作,那么我想知道,添加返回时有什么区别吗?至少在我的情况下我从来没有注意到任何差异或错误.
解决方法
redirect_to将导致跳过任何自动渲染.
如果您需要在操作中绕过更多代码,则只需要“返回”.我特别是,如果进一步的代码执行了一个explicitrender,那么你必须返回以避免重定向错误并使两者都存在.
例如,更新操作中的典型模式可能是……
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