2013-02-24 49 views
1

对不起,我不会使用英文的具体表达。如何纠正在Sinatra秀块

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 

我只想capture_content内容

我希望表达的是正确的T_T

+0

你想达到什么目的? – gmaliar 2013-02-24 14:42:05

+0

我想@content_hash [:key] ='我在这里' – kennx9 2013-02-24 14:46:53

+0

也许Sinatra :: Contrib中的[Sinatra :: ContentFor](http://www.sinatrarb.com/contrib/content_for.html)你的需要? – nemesv 2013-02-24 14:58:51

回答

0

如果您正在寻找自己编写西纳特拉equiva借给Reails content_for帮手,那么你不需要。

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

documentation

西纳特拉:: ContentFor是一组助手,让你捕捉 块内部的意见被要求在以后的渲染。最常见的 常见用途是从您的 视图填充布局的不同部分。