简单的问题是:子页面如何
<% content_for :title do 'Showing product' end %>
设置 :title
主要布局?
详情:
我们可以在应用布局中使用application.html.erb
<title><%= content_for :title %>
...
<%= yield %>
我认为yield
返回子页面的内容,例如来自 show.html.erb
,其中包含:
<% content_for :title do 'Showing product' end %>
如何:title
以某种方式被 yield
以上的东西所使用?我以为title
首先评估部分,然后评估 yield
,那么:title
怎么能呢?追溯设置<title>
的内容标签?
最佳答案
简短回答:通过作弊。
长答案:ActionView 重新定义了产量,因此它与我们所了解和喜爱的优秀 Ruby 的产量不同。事实上,模板文件是在布局文件之前渲染的,然后布局文件中的yield将被已经渲染的模板替换。 content_for
block 保存到类变量中,以便您稍后可以从布局中访问它们。
关于ruby-on-rails - Ruby on Rails "content_for :title"如何获得稍后分配的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4118988/