- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个主要使用 erb 作为模板的 sinatra 应用程序,但我正在为需要在服务器端和客户端呈现的 html block 添加一些 mustache 部分。我有一个“views”目录,我在其中保存了所有模板,包括我添加的 mustache 模板。例如,结构看起来像这样:
views/
index.html.erb
_wingding.html.erb
_widget.html.mustache
假设我正在使用此端点呈现 index.html.erb:
get '/' do
erb :index
end
在该模板中,我想呈现上述两个部分 [更新:事实证明此 partial
方法并未内置到 sinatra 中,而是通过 gem 包含(请参阅我对细节的回答),但它仍然依赖于主要的 sinatra 渲染组件,所以这里的问题仍然存在。]。所以 index.html.erb 包含:
<%= partial :wingding %>
<%= partial :widget %>
erb 部分(wingding)渲染良好,但 mustache 部分(widget)没有。它会导致应用程序抛出异常:
Template engine not found: mustache
我在项目中包含了“ mustache ”gem。我尝试了 'require mustache/sinatra'
和 register Mustache::Sinatra
。这两种说法都有效,但没有解决上面的问题。知道如何告诉 sinatra 有关 mustache 的信息,以便它可以呈现 mustache 吗?
我通过包含此配置来设置我的 View 目录:
configure do
set :views, File.join(File.dirname(__FILE__), 'views')
end
版本号:
最佳答案
所以结果是我的其他答案缓存输出中的解决方案中列出的 gem,这意味着您不能使用它在同一请求中包含具有不同本地的相同部分,这使得它对我的目的毫无值(value)。所以这是我已经确定的另一个(公认的 hackish)解决方案。我创建了一个助手,它只会传送给定 View 的内容:
helpers do
def template_contents(path)
File.open("#{settings.views}/#{path}") { |f| f.read }
end
end
然后,我只是做一个常规的 Mustache#render
:
<%= Mustache.render(template_contents('_widget.html.mustache'), { ... }) %>
这非常适合我的用例。
关于ruby - 如何在使用 ERB 作为主要模板引擎时在 Sinatra 中渲染 Mustache 部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13300085/
我正在尝试将 Mustache 与 requireJS 和 jQuery 一起使用,由于 Chrome 的控制台输出正确,它似乎正在加载到浏览器中: >$.mustache
我想弄清楚 mustache 中的偏音是如何工作的。 JS var mustacheTmpl = Mustache.render(popups, {list:true}); 弹出模板 {{#list}
我想知道是否有比我当前解决以下问题更优雅的解决方案 问题:在以下情况下,使用 Mustache 从动态数组生成动态表: 总列数未知 只有一两个列名是已知的,必须有条件地呈现 不得使用辅助函数 数据仅以
我开始查看一些 mustache 模板,但遇到了一些我不理解/无法找到解释的东西。 {{#something}}word-here={{.}}{{/something}} 有人能帮我理解什么{{.}}
我有一个代码,它呈现了一个带有一些迭代的 mustache 模板,例如: {{#items}} some html code.... {{/items}} 但我想将渲染的项目数放入迭代中,如下所示
我正在使用 Mustache 2.7.0 并第一次尝试使用 Blocks pragma。 基本上,我称之为basic.mustache {{ {{$ title}
我在文本文件中的 mustache 标签是例如“{{foo}}”。 我传递的值有一个嵌入的换行符:“aaaa\nbbbb”。 我想要的行为是输出具有: aaaa bbbb 但相反,它是 aaaa
我有如下的 JSON 字符串 { Red:10, Green: 0 } 所以我想显示以下行 10 次(如 Red: 10 ) 我如何使用 Mustache 做到这一点? 我试过了 {{# R
在 JavaScript 中: falsy: false, null, undefined, 0, -0, NaN, "" truthy: everything else, including []
我们如何在 mustache 上写以下内容? 我想检查一个变量是否存在,如果存在,我想检查该变量是否等于另一个变量。所以 这将是 PHP 等价物 if ($example && $example ==
我有一个使用 Mustache 模板的服务器渲染表单。提交表单时,如果出现错误,我会重新显示表单以及一些错误。我希望使用提交的相同值重新填充字段。 但是,我不确定如何从选择列表中标记正确的项目。这是我
我正在尝试使 Mustache JS 输出内容而不解析一些变量。例如: {{block.type}}-{{block.id}}-label-{{element.id}} 我希望它只解析 block ,
我正在使用 Mustache templating library 并尝试生成一个没有尾随逗号的逗号分隔列表,例如 red, green, blue 给定结构,使用尾随逗号创建列表很简单 { "i
我正在使用Mustache templating library并尝试生成一个逗号分隔的列表,没有尾随逗号,例如 red, green, blue 根据结构,创建带有尾随逗号的列表非常简单 { "
我正在将电子邮件模板从 Mandrill 移至 Postmark,这需要将 Handlebars 转换为 Mustachio。在 Handlebars 我有这样的事情: {{#if some_vari
是否可以检查 mustache js 中的特定值,例如 {{name}} == "James" ? 数据: json: { name: "James" } HTML: {{name}} //W
我在命令行上使用 Mustache 将 JSON 对象嵌入到 中HTML 对象中的标签。 cat sampleData.json | mustache - man_report.mustache >
我正在尝试使用 mustache 模板来呈现非常简单的表单,但是,其中一个表单具有一组单选按钮。我不知道如何在呈现表单时选择正确的单选按钮。 这是很简单的东西,我只是错过了一些东西,还是 mustac
是否有一个简单的、独立的、可移植的、现有的用于 Windows 的 Mustache 发行版,它可以让我完全按照 mustache(1) 中指定的(或尽可能接近)调用 Mustache手动的? cat
我正在尝试做这样的事情,但我不知道该怎么做: 我有一个名为 {{dropdown_}} 的 mustache 参数,另一个名为 {{number}} 我想做的是这样的: {{dropdown_{{nu
我是一名优秀的程序员,十分优秀!