在Rails中"return render"vs"render ... and return"

ran*_*guy 13 controller ruby-on-rails

是否有书面的任何功能上的差异return render 'edit'render 'edit' and return?这两种语法都安全吗?

return render语法有点更简洁,但render and return提倡正式在这里避免双重渲染错误.

return render将返回render方法返回的任何值,并从控制器方法render and return返回a nil.

MrW*_*hog 11

你最后回答了你的问题:

return render将返回render方法返回的任何值,render和return将从控制器方法返回nil

重要的是你返回 - 这可以防止控制器动作中的任何其他代码运行 - 从而保护你免受双重渲染错误的影响.我不相信任何东西实际上是在监听控制器动作的返回值.

如果我不得不猜测为什么首选方法是and return我会说它读起来像散文,这是红宝石的方式.也就是说,它听起来像一个句子"渲染类别和返回"而不是"返回渲染类别"