配列コントローラーを反復処理して項目を表示しています。このビュー内で、現在のアドレスのコンテキストでカスタム ハンドルバー ヘルパーを実行しようとしていますが、ヘルパー内ではオブジェクトが未定義です。
意見:
{{#each temporaryUser.addresses}}
{{#view App.AddressView addressBinding="this"}}
{{addressActions view.address}}
{{{view.address.display}}}
<a {{action deleteAddress target="view"}} class="delete">Delete</a>
{{/view}}
{{/each}}
Handlebars.registerHelper('addressActions', function (address) {
var display = '<div class="actions">';
if (address.current && address.permanent) {
display += '<p>This is my current residential, and permanent address:</p>';
}
else if (address.current && !address.permanent) {
display += '<p>This is my current residential address:</p>';
display += '<a href="#">Make permanent residential address</a>';
}
else if (!address.current && address.permanent) {
display += '<p>This is my permanent address:</p>';
display += '<a href="#">Make current residential address</a>';
}
else {
display += '<a href="#">Make current residential address</a><br/>';
display += '<a href="#">Make permanent residential address</a>';
}
display += '</div>';
return new Handlebars.SafeString(display);
});