我正在尝试向现有(大型)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?
答案 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)