【问题标题】:Ember-Rails and namespaced templatesEmber-Rails 和命名空间模板
【发布时间】:2013-04-07 06:19:12
【问题描述】:

我有一个 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 应用程序并因此呈现多个模板根?

谢谢!

【问题讨论】:

标签: ember.js ember-rails


【解决方案1】:

正如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);
    }
  })
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-30
    • 2014-11-14
    • 2011-05-23
    • 1970-01-01
    • 2012-07-08
    • 1970-01-01
    • 2010-12-29
    • 1970-01-01
    相关资源
    最近更新 更多