テンプレートで libraryPrep オブジェクトのモーダル ビューを次のように表示します。
if (_.isUndefined(this.libraryPreps)) {
this.$el.html(this.template({ }));
} else {
this.$el.html(this.template({ libraryPreps: this.libraryPreps.toJSON() }));
}
libraryPreps オブジェクトがある場合は、else ステートメントが機能します。私のテンプレートでは、次のように使用します。
<select id="libraryPreps" >
<% if (!_.isUndefined(libraryPreps)) { %>
<% _.each(libraryPreps, function (libraryPrep) { %>
<option value="<%=libraryPrep.id%>"><%= libraryPrep.name %></option>
<% }); %>
<% } %>
</select>
libraryPreps オブジェクトがない場合、テンプレートをレンダリングできず、コンソールに libraryPreps が定義されていないというエラーが表示されます。テンプレートで undefined を間違ってチェックしていませんか? バックボーンのモーダルビューでも同じようにチェックしているような気がするのですが、なぜか実際のテンプレートではうまくいかないようです。テンプレート表記は正しいですか? ありがとう。