渲染是否“贡献”? 与渲染同义:action => “贡献”
这两种形式的“渲染”具有相同的效果吗?
render 'contribute'
render :action => 'contribute'
Do these two forms of 'render' have the same effect?
render 'contribute'
render :action => 'contribute'
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
简而言之:是的,它们是相同的。
但是,有时传递字符串会导致调用
render :file
或render :template
。这是渲染函数的 API 文档
如果我们向下滚动并单击“显示源代码”我们可以看到它在幕后做了什么。
注意从第 872 行开始的块:
通过查看这段代码,我们可以确定它正在尝试变得聪明。
/
开头(when 0
情况),那么它将调用render :file
/
根本,(when nil
情况)那么它将调用render :action
/
> 位于字符串中间或末尾的某个位置(然后是else
情况),那么它将调用render :template
希望这能满意地回答您的问题:-)
In short: Yes, they are the same.
However, sometimes passing a string will result in a call to
render :file
orrender :template
.Here's the API docs for the render function
If we scroll down and click 'Show Source' we can see what it's doing under the hood.
Note the block starting at line 872:
By looking at this code, we can determine that it is trying to be smart.
/
, (thewhen 0
case) then it will callrender :file
/
at all, (thewhen nil
case) then it will callrender :action
/
somewhere in the middle or end of the string (thenelse
case), then it will callrender :template
Hope this answers your question satisfactorily :-)