如何纠正Sinatra show block

时间:2013-02-24 14:39:52

标签: ruby sinatra erb

抱歉,我不会使用英文的具体表达方式。

index.erb

<h1>Hello World.</h1>
<ul>
  <li>item1</li>
  <li>item2</li>
</ul>
<% capture_content :key do %>
 I'm Here.
<% end %>

helpers

def capture_content(key, &block)
  @content_hash = {}
  @content_hash[key] = block.call # this block contains erb all 
end

我只想要内容<{1}}

我希望表达是正确的T_T

1 个答案:

答案 0 :(得分:0)

如果您希望自己编写Sinatra等效的Reails content_for助手,那么您不需要。

因为有一个名为Sinatra::ContentFor的扩展程序,它是Sinatra::Contrib项目的一部分,可以完成您想要的工作。

来自documentation

  

Sinatra :: ContentFor是一组允许您捕获的帮助程序   阻止内部视图在请求期间稍后呈现。最多   常见的用途是填充你的布局的不同部分   图。