Ошибка шаблона кофейных активов 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')
Надеюсь, это поможет кому-то еще!