任何人都可以清楚地解释provide()
视图中的工作原理吗?我已阅读官方文档,但如果我在模板的开头定义,那么真正困扰我的是这个
<% provide(:title, 'Help') %>
Run Code Online (Sandbox Code Playgroud)
然后我有这行代码
<%= yield :title %>
Run Code Online (Sandbox Code Playgroud)
背景中真的发生了什么?我知道yield应该调用代码块.在这种情况下代码块会是什么?
Jef*_*ice 42
provide
将标记块存储在标识符中以供以后使用.在这种情况下,符号中的"帮助":标题.随附的提示<% %>
表示它正在执行此代码而不是在视图中打印出来.
yield
在这种情况下只是吐出阻止退出.封闭产量<%= %>
以表明它正被打印到视图中.
可以将其视为设置变量并打印出变量.
有关
详细信息,请参阅:http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html#method-i-provide.请注意,provide
它实际上是一个包装器,content_for
因此这个链接中的好东西就在这里.