2013-04-07 70 views
9

我有一个名为空间分为三个部分(几乎3个应用程序共享模型)的Rails应用程序。我希望每个名称空间部分都有它自己的Ember应用程序。这些应用程序永远不会以相同的布局加载,因此不必了解彼此的任何信息。事实上,我希望尽可能将代码分开,以便应用程序最终可以真正分离。Ember-Rails和命名空间模板

我正在尝试使用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应用程序并呈现多个模板根目录?

谢谢!

+0

收集信息没有这个Github拉请求(https://github.com/emberjs/ember-rails/pull/111),在我得到它的时候会在这里添加最终答案。 – ootoovak 2013-04-08 23:35:52

回答

12

已发布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); 
    } 
    }) 
}); 
+1

魔法。谢谢!! – Charlie 2014-02-03 23:40:20

+0

巨大的帮助,谢谢。 – 2014-05-19 02:33:34