저는 일반적으로 코딩하고 Rails와 함께 백본을 사용하는 데 익숙하지 않았습니다. 템플릿 내에서 콜렉션 데이터를 반복하려는 시도가 실패했으며 무엇이 잘못되었는지 확실하지 않습니다. 웹 페이지를로드 할 때 json 데이터와 템플릿의 일부가 잘로드되지만 반복되는 비트는 실패합니다.백본 템플릿의 컬렉션을 반복 할 수 없습니다.
acquisition.js :
var Acquisition = Backbone.Model.extend({
});
acquisitions.js :
var Acquisitions = Backbone.Collection.extend({
model: Acquisition,
url: '/acquisitions.json'
});
acquisitions_index.js :
var AcquisitionsIndex = Backbone.View.extend({
tagName: "table",
render: function() {
this.$el.html(JST['acquisitions/index']({ collection: this.collection }));
return this;
}
});
index.jst.ejs :
여기 코드는<tbody>
<tr>
<th>Cash(USD)</th>
<th>Date</th>
</tr>
<% collection.each(function(model) { %>
<tr>
<td><%= model.escape('cashUSD') %></td>
<td><%= model.escape('date') %></td>
</tr>
<% }); %>
</tbody>
home.html.erb :
<header>
<h1>Startup acquisitions</h1>
</header>
<div id="app"></div>
<script>
var acquisitions = new Acquisitions;
acquisitions.fetch();
var acquisitionsIndex = new AcquisitionsIndex({collection: acquisitions});
acquisitionsIndex.render();
$("#app").append(acquisitionsIndex.el)
</script>
'fetch'는 AJAX 호출이며, 콜렉션을 사용하려고 할 때 서버가 응답하지 않아 아무런 도움이되지 않습니다. 콜렉션의 이벤트에 바인드하여 이벤트에 응답하여 렌더링해야합니다. –
참고로, <% -'를 사용하여 백본 이스케이프 값을 자동으로 가질 수 있습니다. – n3rd
머리에 @ n3rd 감사합니다. 어떤면에서 본보기와 관련이 있습니까? – tdkr