javascript - 将 ERB 与 Handlebars 模板一起使用

标签 javascript ruby-on-rails handlebars.js

我有一个使用 ajax 制作新标签的模式。它使用 Tags 参数执行 POST 方法,而无需重新加载 View 。所以我想根据选择的“price_type”参数呈现一个或另一个价格 div。我正在使用 Handlebars,所以我想这不是 ruby​​ 的条件责任(因为 AJAX),而是 Handlebars 条件责任。

问题是我尝试了很多方法来使 Handlebars 有条件,但都没有成功。

我想用 Handlebars 条件实现与此等效的效果,其中 @tag.price_type 在 JS 中存储为 {{price_type}}。因为我使用的是 AJAX,所以如果我尝试这样做,它不会起作用。

    <script id="entry-template" type="text/x-handlebars-template">
      <% if @tag.price_type === 1 %>
        <span class="small right white article_price">{{min_price}} €</span>
      <% elsif @tag.price_type === 2 %>
        <span class="small right white article_price">{{min_price}} €</span> - <span class="small right white article_price">{{max_price}} €</span>
      <% else %>
        <span class="small right white article_price">No sabe</span>
      <% end %>
    </script>

这可能吗?也许将文件保存为 hbs.erb? 如果不是,纯 Handlebars 模板会怎样?我尝试制作一个我不明白的自定义助手,但什么也没有。谢谢你们。

最佳答案

您需要在文件末尾使用 .hbs.erb 命名您的文件,而不是简单地使用 .hbs

这将鼓励 Rails 首先将文件编译为 .erb 文件(将 erb 数据注入(inject) .hbs 文件),然后Rails 会将文件呈现为 .hbs(Rails 按照文件扩展名从右到左的顺序编译文件)。

关于javascript - 将 ERB 与 Handlebars 模板一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24203822/

相关文章:

javascript - DC.js - 空白数据点和直方图

javascript - 为什么 console.log() 在 Promises 的resolve() 函数中立即执行?

ruby-on-rails - Rails 设计了 ​​omniauth-facebook .persisted?返回错误

javascript - 在表操作按钮内表达无效的 CSRF token

javascript - 在 chrome 内容脚本中使用 html 模板

javascript - Unicode 字符转义序列未在 handlebar.js 中正确打印

JavaScript 全局作用域

javascript - grails 链接 - 将 javascript 变量添加到 params 中

ruby-on-rails - 如何为使用 SSL 的站点访问者更改 Rails View 代码?

ruby-on-rails - 正如 Ruby Guides 要求我考虑的那样,我真的应该使用观察者吗?