我的布局中有这样的东西
...
<%= yield :test %>
...
<%= render :partial => 'user/bar' %>
在 user/bar.html.erb 我有
<% content_for :test do %>
stuff
<% end %>
这似乎不起作用。而且我发现yield :test
在部分执行之前执行,但在执行操作视图之后执行。为什么会这样,我该怎么办?
我的布局中有这样的东西
...
<%= yield :test %>
...
<%= render :partial => 'user/bar' %>
在 user/bar.html.erb 我有
<% content_for :test do %>
stuff
<% end %>
这似乎不起作用。而且我发现yield :test
在部分执行之前执行,但在执行操作视图之后执行。为什么会这样,我该怎么办?
语法content_for :test do ... end
捕获块的内容,并content_for :test
给出捕获的块。content_for 的文档。
在您的代码中,恢复是在捕获之前完成的,因此它无法工作。
我在调用之前将部分写入局部变量yield
,然后将其渲染到文档中:
...
<% partial = render(:partial => 'user/bar') %>
<%= yield :test %>
...
<%= partial %>