我有一个 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);
}
})
});
关于ember.js - Ember-Rails 和命名空间模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15859552/