【发布时间】:2015-05-03 14:57:13
【问题描述】:
我正在尝试构建一个带 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);
});
【问题讨论】: