启用单个文件 erb 另一个

我正在编写一个命令行工具,最终将显示报告 HTML. 该工具是写的 Ruby. /我不用 Rails/. 我正在尝试在一组文件和模板中保存应用程序逻辑 HTML /文件 .erb/ - 在另一个。

但是,我有一个非常讨厌的问题:我无法成功启用一个文件 .erb 在另一个。

准确,我正试图做这样的事情 /在伪代码中/:


<html>
<head>
<style type="text/css">
[include a stylesheet here]
[and another one here]
</style>
</head>
<body>
<p>The rest of my document follows...


这个片段的这个例子

自己

本身就是一个文件 erb, 从应用程序逻辑调用。

我以这样的方式这样做,以保持我的风格表在主模板外,使其更容易/清洁剂在应用服务中。 但是,最终产品 /报告/ 必须是一个脱机文件 HTML, 它没有依赖关系,因此我想在创建报告时在文档标题中嵌入这些样式表。

似乎应该很容易,但我碰到了墙壁 /和googlyl和 RTMF'ing/ 在最后一小时,我并不幸运。

应该如何完成? 谢。
</p></body></html>
已邀请:

石油百科

赞同来自:

可以嵌入Euroradio模板,从而评估子模板 <%= %> 基本模板。


<%= ERB.new/sub_template_content/.result/binding/ %>


例如:


require "erb"

class Page
def initialize title, color
@title = title
@color = color
end

def render path
content = File.read/File.expand_path/path//
t = ERB.new/content/
t.result/binding/
end
end

page = Page.new/"Home", "#CCCCCC"/
puts page.render/"home.html.erb"/


home.html.erb:


<title>&lt;%= @title %&gt;</title>
<head>
<style type="text/css">
<%= render "home.css.erb" %>
</style>
</head>


home.css.erb:


body {
background-color: <%= @color %>;
}


生产:


<title>Home</title>
<head>
<style type="text/css">
body {
background-color: #CCCCCC;
}
</style>
</head>

帅驴

赞同来自:

我需要它在申请中 Sinatra, 而且我发现我可以只要我打电话给原件来称之为:

在申请中 sinatra 我打电话给索引:


erb :index


然后,在索引模板中,我可以为任何子环路做同样的事情:


<div id="controls">
&lt;%= erb :controls %&gt;


.. 显示模板' controls.erb'.
</div>
<div class="answer_text">

&lt;%= ERB.new/sub_template_content/.result/binding/ %&gt;


使用命令行实用程序时不起作用

欧元德

, 一些

变量 _erbout overrid并仅使用最后。

这样用它:


&lt;%= ERB.new/sub_template_content, eoutvar='_sub01'/.result/binding/ %&gt;


</div>
<div class="answer_text">
来自我的文件 .erb 我不得不这么做:


&lt;%= ERB.new/File.read/'pathToFile/myFile.erb'/, nil, nil, '_sub01'/.result/binding/ %&gt;


此主题中的其他答案假定您具有内容的变量。 此版本提取内容。
</div>

裸奔

赞同来自:

<%= ERB.new/sub_template_content/.result/binding/ %>


使用命令行实用程序时不起作用

欧元德

, 一些

变量 _erbout overrid并仅使用最后。

这样用它:


<%= ERB.new/sub_template_content, eoutvar='_sub01'/.result/binding/ %>

快网

赞同来自:

来自我的文件 .erb 我不得不这么做:


<%= ERB.new/File.read/'pathToFile/myFile.erb'/, nil, nil, '_sub01'/.result/binding/ %>


此主题中的其他答案假定您具有内容的变量。 此版本提取内容。

要回复问题请先登录注册