在Ramaze中使用content_for和yield_content

时间:2014-02-10 19:55:19

标签: ruby ramaze

Sinatra已经sinatra/contrib对此进行了分析,这与Ramaze中的相同之处是什么?顺便说一下,我正在使用Erubis。此外,快速谷歌搜索显示真正的旧页面,坚持在控制器中设置变量并在视图中使用它们。

编辑1:

取自gem文档(http://www.sinatrarb.com/contrib/content_for.html

您通常从视图调用content_for来捕获标记块,为其提供标识符:

# index.erb
<% content_for :some_key do %>
  <chunk of="html">...</chunk>
<% end %>

然后,您通常从布局调用带有该标识符的yield_content来呈现捕获的块:

# layout.erb
<%= yield_content :some_key %>

1 个答案:

答案 0 :(得分:0)

我不认为Ramaze可以原生这样做。但你可以很容易地手动执行此操作,编写帮助程序来执行此操作,甚至填写哈希实例。

如果需要在循环中渲染小块HTML,您可能还需要查看部分内容。

您还可以合并render_partial,将结果存储在哈希中,并在布局中生成内容。

如果用例类似于渲染侧边栏,您可能希望编写一个帮助程序,以便从视图中取出逻辑。

这里有一个简单的例子:https://github.com/Ramaze/ramaze/wiki/Adding-a-dynamic-sidebar-in-a-layout