Rails with Underscore.js Templates

后端 未结 2 776
别跟我提以往
别跟我提以往 2021-01-31 09:59

I was trying to use underscore.js templates for templating in a rails 2.3 app which does not have jammit as an asset packager.

Here is the simple Templa

相关标签:
2条回答
  • 2021-01-31 10:48

    Use some other delimiters instead of <%= %>. For example, to use mustache-style brackets {{= }} (interpolate) and {{ }} (evaluate), add this somewhere to your javascript:

    _.templateSettings = {
        interpolate: /\{\{\=(.+?)\}\}/g,
        evaluate: /\{\{(.+?)\}\}/g
    };
    
    0 讨论(0)
  • 2021-01-31 10:50

    If you don't want to change the template settings across your entire project...

    Escape the ERB tags: <%= becomes <%%=

    <script type="text/template" id="q-template">
        <div class="current-body">
            <span class="q-index"><%%= title %></span>
            <span class-"q-text"><%%= body %></span>
        </div>
    </script>
    

    Note that the closing tag is still %>, not %%>.


    Side note - I also tried outputting using a heredoc. The following code runs successfully but outputs a bunch of erb source code that gets caught between the heredoc commands.

    <script type="text/template" id="q-template">
    <%= <<-heredoc %>
        <div class="current-body">
            <span class="q-index"><%%= title %></span>
            <span class-"q-text"><%%= body %></span>
        </div>
    heredoc
    </script>
    
    0 讨论(0)
提交回复
热议问题