我有一个Rails应用程序,命名为三个部分(共有3个应用程序共享模型).我想为每个命名空间部分拥有自己的Ember应用程序.这些应用程序从未在相同的布局中加载,因此不必了解彼此的任何内容.实际上,我希望保持代码尽可能分开,以便应用程序最终能够真正分解.
我正在尝试使用ember-rails gem.
基本上就是这个问题:
How can I specify an alternative directory for my HandlebarsJS templates with the ember-rails gem?
而且答案在那里有效,但我很确定使用templates_root限制我只有一个命名空间.所以我也不能有一个admin.js和admin / templates命名空间以及一个customer.js和customer / templates命名空间.
那么有没有人知道如果ember-rails将支持多个命名空间的Ember应用程序,并且渲染多个模板根结果?
谢谢!
解决方法
发布
here您可以通过向每个应用程序添加自定义解析器来拥有命名空间模板.
App1 = Ember.Application.create({ Resolver: Ember.DefaultResolver.extend({ resolveTemplate: function(parsedName) { parsedName.fullNameWithoutType = "app1/" + parsedName.fullNameWithoutType; return this._super(parsedName); } }) }); App2 = Ember.Application.create({ Resolver: Ember.DefaultResolver.extend({ resolveTemplate: function(parsedName) { parsedName.fullNameWithoutType = "app2/" + parsedName.fullNameWithoutType; return this._super(parsedName); } }) }); App3 = Ember.Application.create({ Resolver: Ember.DefaultResolver.extend({ resolveTemplate: function(parsedName) { parsedName.fullNameWithoutType = "app3/" + parsedName.fullNameWithoutType; return this._super(parsedName); } }) });