0

有没有办法在ember js中指定关系另一方的名称。

就像您可以将 class_name 和 foreign_key 参数指定为 rails 中的关系一样。

编辑

澄清一下,这里是我的模型:

  App.Menu = DS.Model.extend
    menu_pages: DS.hasMany 'App.MenuPage'
    embedded_menu_pages: DS.hasMany 'App.MenuPage'

  App.MenuPage = DS.Model.extend
    menu: DS.belongsTo 'App.Menu'
    embedded_menu: DS.belongsTo 'App.Menu'

问题是当我在 MenuPage 实例上设置 embedded_menu 时。Ember 然后将一个项目添加到 Menu 模型中的 menu_pages 数组,而不是添加一个项目到 embedded_menu_pages 数组。

4

1 回答 1

2

查看https://github.com/emberjs/data/blob/master/packages/ember-data/tests/integration/inverse_relationships_test.js#L45中的测试

当反比关系不明确时,您应该能够定义它们。在你的情况下,像

App.Menu = DS.Model.extend
  menu_pages: DS.hasMany('App.MenuPage'), inverse: 'menu'
  embedded_menu_pages: DS.hasMany 'App.MenuPage', inverse: 'embedded_menu'

App.MenuPage = DS.Model.extend
  menu: DS.belongsTo 'App.Menu', inverse: 'menu_pages'
  embedded_menu: DS.belongsTo 'App.Menu', inverse:  'embedded_menu_pages'

(如果语法不符合咖啡脚本,我深表歉意)

于 2013-04-29T16:05:19.613 回答