Ошибка шаблона кофейных активов Haml, нет доступа к модели Backbone JS?

Я использую haml_coffee_assets в приложении Rails 3.2. Следующее работает в шаблоне ejs:

<table>
  <tr>
    <th></th>
  </tr>
  <% tutorials.each(function(model) { %>
    <tr>
      <td><%= model.escape('title') %>
    </tr>
  <% }); %>
</table>

Я не могу заставить это работать в haml_coffee. Следующее было моим лучшим предположением, но по какой-то причине этот шаблон haml_coffee не работает:

%table
  %thead
    %tr
      %th Tutorial Name
  %tbody
    - for tutorial in @tutorials
      - do (model) ->
      %tr
        %td= model.title

Все, что я получаю с этим:

ReferenceError: Can't find variable: model

2 ответа

Решение

Поскольку вы упомянули, что вы используете Backbone в GitHub, я предполагаю, что @tutorials является коллекцией Backbone, и вы можете использовать также эту альтернативу:

%table
  %thead
    %tr
      %th Tutorial Name
  %tbody
    - for model in @tutorials.models
      %tr
        %td= model.escape('title')

Я наконец смог заставить это работать со следующим:

%table
  %thead
    %tr
      %th Tutorial Name
  %tbody
    - @tutorials.each (model) ->
      %tr
        %td= model.escape('title')

Надеюсь, это поможет кому-то еще!

Другие вопросы по тегам