这可能听起来令人困惑,但我会尽力解释它。
我有loans
路由,然后我有一个名为product的嵌套资源。一个loan
可以包含许多产品,当您选择查看其中一个产品时,我会重定向到product
嵌套资源。问题是我的应用程序支持使用未保存的数据。因此,最初当您创建新贷款时,您可以在不保存贷款的情况下添加新产品(我的贷款模型在产品上具有hasMany属性),但是当我导航到产品路线时,我需要访问贷款路线上的贷款模型,并获得贷款目前拥有的所有产品,然后根据URL中的ID找到一个,但我面临的问题是,当我得到贷款控制器时,它的模型仍为空,我想这是因为贷款路线在产品路线后执行。
我采取了错误的方法,还是有办法获得贷款模式?
答案 0 :(得分:2)
如果您将子控制器声明为依赖项,您应该能够从子控制器访问贷款控制器及其模型。
只需在产品控制器中添加needs: 'loans'
(包含您的实际贷款路线名称),然后就可以访问贷款控制器,如下所示:this.get('controllers.loans')
。
您可以在此处阅读更多内容:http://emberjs.com/guides/controllers/dependencies-between-controllers/
在ProductRoute中,您应该可以通过执行此操作来访问父模型。模型(' loan')。确保使用在Router.map中声明的实际路由名称。