ember.js - Ember-Rails 和命名空间模板

标签 ember.js ember-rails

我有一个 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/

相关文章:

ember.js - Emberjs 上的 Mixins 和 Services 有什么区别

javascript - 基本 Ember 模板未在 Rails 中渲染

ember.js - 升级到 Rails 4 后,Handlebars 资源无法与 ember-rails 一起编译

ember.js - 在 EmberJS 中检测 URL 更改并获取 URL(使用 Discourse)

ember.js - Ember-数据引导模型对象

ember.js - Rails 使用 ember-template-compiler 预编译失败

ember.js - emberjs 子级嵌套列表

css - EmberJS 中的可折叠侧边栏元素

ember-data - 如何将 ember-rails 的 ember-data 版本升级到修订版 12?

ember.js - Ember JS 和 Ember Rails 中的嵌套路由