ruby-on-rails - 在erb模板中嵌入ejs模板

标签 ruby-on-rails erb ejs

我正在构建一个JavaScript繁重的Rails 3应用程序。它使用underscore.js,它具有基于ejs(http://embeddedjs.com/)构建的非常优雅的模板机制。

问题:embeddedjs大量借鉴了erb语法,因此在erb模板中包含ejs模板会导致 View 呈现问题。

有没有办法在erb文件中包含“non-erb”部分?这可以让我在erb文件中定义ejs模板。现在,我正在使用一个黑客工具,其中有一个帮助程序,该帮助程序读取包含ejs模板的文件的原始内容,并将其作为erb模板中的原始字符串输出。

最佳答案

我使用此技巧来解决问题:

// Using custom tags to be able to use regular for templates in templates
var ejs = require('ejs');
ejs.open = '{{';
ejs.close = '}}';

// Using html extension for custom ejs tags
app.register('.html', ejs);

app.set('views', __dirname + '/views');
app.set('view engine', 'html');

这将<%%>更改为{{}},让我将<%%>用于JS使用的模板。这对我有用,因为我没有经典样式模板(<%%>)。

如果您有很多,可能只想对underscore.js模板做同样的技巧。

关于ruby-on-rails - 在erb模板中嵌入ejs模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4716557/

相关文章:

javascript - Rails 使用 JSON 对象渲染部分

ruby - 嵌入式 ruby "erb"标签

javascript - html webpack 插件和注入(inject)后的新行

node.js - EJS - 包含来自与当前目录不同的目录的包含内容

ruby-on-rails - 迁移到 Rails 3.2.1 后关系 "translations"不存在

ruby-on-rails - Ruby/Sinatra JSON.parse 失败

ruby-on-rails - rails - rspec - 为什么这个 "validates_inclusion_of :role, :in => %w[one, two, three ] }"不起作用

javascript - 从不同文件调用 JavaScript 构造函数方法 - Rails

ruby - 如何在erb模板中使用utf-8编码的数据

javascript - 我的转换出现问题 : translate property