使用ember应用程序外部的ember数据加载模型实例

时间:2013-11-15 21:19:24

标签: ember.js ember-data

我正在尝试向现有(大型)rails应用添加一个ember应用。如果它成功了,我想在应用程序的许多新领域使用ember,但我从小开始。

基本上,用户在轨道学生索引页面上,点击许多链接中的一个来管理学生的IEP,然后显示包含ember应用程序的模式框。当我们在5月份第一次将这一点飙升时,我们按如下方式做了这个:

showDialog: (url) ->
  studentId = ...
  $('#emberDialog').dialog
    open: ->
      student = App.Student.find(studentId)
      App.Router.router.transitionTo('studentIeps.index', student)

现在我们再次提起这个问题,我发现从Ember V1.0.0-rc.5-80-gf54e8ef到V 1.1.3 + pre.e0ffbf84以及Ember-data来自V0.13 -30到V1.1.0-beta.3-4已删除Model.find方法。

是否有支持的方式再做一次?我正在尝试构建一个ember app外部模型的实例,然后使用它来设置ember应用程序的当前路径。 HALP?

1 个答案:

答案 0 :(得分:1)

您可以从容器中获取应用程序控制器的实例,从那里您可以执行以前所做的一切。控制器上有一个商店实例,这就是你现在获得模型的方法。您的数据/适配器可能还有其他一些问题,请参阅转换文档:https://github.com/emberjs/data/blob/master/TRANSITION.md

showDialog: (url) ->
  studentId = ...
  $('#emberDialog').dialog
    open: ->
      appController = App.__container__.lookup('controller:application')
      store = appController.get('store')
      student = store.find('student', studentId)
      appController.transitionToRoute('studentIeps.index', student)