Ember.js帮助混合参数

时间:2013-07-24 10:18:31

标签: ember.js handlebars.js

我正在使用Rails的js-routes,并希望将它与Ember.js结合使用。我写了一个助手来从js-routes提供的全局路由中获取路由,但我似乎无法让它工作。

用法: {{route 'user_path' user.id}}

预期回报: /users/123

尝试1:

Ember.Handlebars.registerHelper('route', function(path, id) {
    console.log(path); // returns the path as a string --> OK!
    console.log(id); // returns the string 'user.id' --> Not ok!
    return Routes[path](id);
});

尝试2:

Ember.Handlebars.registerBoundHelper('route', function(path, id) {
    console.log(path); // returns undefined --> Not OK!
    console.log(id); // returns 123 --> OK!
    return Routes[path](id);
});

我怎样才能做到这一点?谢谢!

1 个答案:

答案 0 :(得分:1)

没关系,我自己找到了:

Ember.Handlebars.registerBoundHelper('route', function(context, options) {
    return Routes[options.hash.path](context.id);
});

用法:{{route this path='user_path'}}