use*_*920 1 ruby rack erb sinatra
如何在 Ruby 和 ERB(不是 Rails)中使用视图和布局?
今天我使用这个代码来呈现我的观点:
def render(template_path, context = self)
template = File.read(template_path)
ERB.new(template).result(context.get_binding)
end
Run Code Online (Sandbox Code Playgroud)
这工作得很好,但我如何实现相同的功能,但要在布局内呈现模板?我想调用 render_with_layout(template_path, context = self),这样它就有一个默认布局。
既然你用 Sinatra 标记了它,我假设你是我们 Sinatra。
默认情况下,您的视图以名为 layout.erb 的默认布局呈现
get "/" do
erb :index
end
Run Code Online (Sandbox Code Playgroud)
这将使用默认布局呈现您的视图索引。
如果您需要多个布局,您可以指定它们。
get "/foo" do
erb :index, :layout => :nameofyourlayoutfile
end
Run Code Online (Sandbox Code Playgroud)
* 如果您不使用 Sinatra,您可能想从那里借用代码。
| 归档时间: |
|
| 查看次数: |
7029 次 |
| 最近记录: |