else ブロックを使用してヘルパーを構築しようとしています。
ハンドルバーの例しか見つかりません。彼らは options.inverse が関数であることを示していますが、私の HTMLBars ヘルパーでは options.inverse はオブジェクトです。(例: 呼び出し不可)
テンプレートコード:
{{#can 'audit' 'user' }}
AUDIT_LINK_PLACEHOLDER
{{else}}
NO_AUDIT_LINK
{{/can}}
ヘルパー コード:
Ember.Handlebars.registerHelper("can", function(verb, noun, options) {
var abilities = this.container.lookup('controller:application').currentAbilities;
var sub_ability = abilities[noun] || {};
var fn = (sub_ability[verb] || sub_ability['manage']) ? options.fn : options.inverse;
return fn(this);
});