1

对不起,我不会用英文的具体表达。

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

4

1 回答 1

0

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

因为有一个名为Sinatra::ContentFor的扩展,它是Sinatra::Contrib项目的一部分,可以满足您的需求。

文档中:

Sinatra::ContentFor 是一组帮助程序,允许您捕获视图中的块,以便稍后在请求期间呈现。最常见的用途是从视图中填充布局的不同部分。

于 2013-02-24T15:29:04.070 回答