我怀疑,如果两个命令之间存在差异,当我想在轨道中创建没有视图的动作时,我总是使用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)