Ruby方法产生一个ERB模板而不是另一个

时间:2016-03-19 11:05:16

标签: ruby erb yield

我需要知道如何编写一个将页面ERB置于

之下的方法
<h1>Hello World</h1>

并在下面的布局ERB模板中产生

<html>
<head>
  <title>Layout</title>
</head>
<body>
  <%= yield %>
</body>
</html>

编辑:

我实际上正在寻找一个简单的方法/函数,devanand已经为我提供了一个链接。以下是我的工作,因为我对如何为此编写方法没有任何想法。

page = "<h1>Hello World</h1>"

layout = "<html>
<head>
  <title>Layout</title>
</head>
<body>
  <%= yield %>
</body>
</html>"

def render_layout(layout)
  ERB.new(layout).result(binding)
end

def render_view_with_layout(view, layout)
  render_layout(layout) do 
    ERB.new(view).result
  end  
end

1 个答案:

答案 0 :(得分:1)

我希望我能问你一个问题。 以下链接应该回答您的问题

How can I use views and layouts with Ruby and ERB (not Rails)?