0

使用平面路由(如果必须在单独的视图中显示视图)结构解决了许多问题并有助于避免不必要的代码,但是根模板目录中的所有模板都不仅仅是一团糟:

例如:

(使用 ember-rails)

AddressBook.Router.map () ->
  @resource 'contacts'
  @resource 'contact', path: '/contacts/:contact_id'
  @resource 'contactNew', path: '/contacts/new'
  @resource 'contactEdit', path: '/contacts/:contact_id/edit'

上面定义的所有路由模板都必须在根目录中。有了更多的路线,维护它不仅仅是一个问题。

是否可以保持模板井井有条?或者在 Ember 路由器方面可能发生了一些变化?

4

1 回答 1

1

我假设您正在使用某种 Handlebars 预编译器,它从路径中获取模板名称。(我从来没有使用过 Rails,所以我不知道 Ember-rails 是否内置了它。)如果是这样,我认为你有两个选择。

  1. 您可以尝试修改/配置预编译器,以便它从路径以外的地方获取模板名称。我不知道你用的是哪一个,所以我不能给你详细的信息。

  2. 您可以更改路由呈现的模板。您可以使用 的render方法Route,也可以定义路由的视图并更改layoutName属性。

就个人而言,我强烈建议利用嵌套路由,因为它们除了模板组织之外还提供许多其他好处。但是,如果您真的不想这样做,请在您的预编译器上查找文档并尝试选项 1。您可能会想出一些聪明的方法。

编辑:使用 Ember-Rails,选项 1 可能是最好的。我对 Ruby 一无所知,但我很确定您需要的一切都在template.rb中。

于 2014-04-02T12:50:34.777 回答