在Ember.js中的脏对象上设置belongsTo关系
我使用的是Ember.js1.0和Ember数据1.0.0beta2。我有几个相关的模型:在Ember.js中的脏对象上设置belongsTo关系,ember.js,Ember.js,我使用的是Ember.js1.0和Ember数据1.0.0beta2。我有几个相关的模型: Whistlr.Upload = DS.Model.extend organizations: DS.hasMany('organization') Whistlr.Organization = DS.Model.extend upload: DS.belongsTo('upload') 用户通过Jquery文件上传在组织表单中创建上传。在成功回调中,我将关系设置为: upload = @ge
Whistlr.Upload = DS.Model.extend
organizations: DS.hasMany('organization')
Whistlr.Organization = DS.Model.extend
upload: DS.belongsTo('upload')
用户通过Jquery文件上传在组织表单中创建上传。在成功回调中,我将关系设置为:
upload = @get('parentView').get('controller').store.createRecord('upload', response.upload)
@get('parentView').get('controller').set('upload', upload)
不幸的是,它被设置为
null
。这是因为我试图在组织和上载实例都脏的情况下设置关系吗?您在控制器上而不是在模型上设置上载。您可能想做:
@get('parentView').get('controller.model').set('upload', upload)
不幸的是,我收到一条错误消息,
@get('parentView')。get('controller.model')
未定义。也许控制器与模型没有关联?我相信是OrganizationNewController,但也许在所有的跳跃中,它落在了其他东西上。如何获取已调用的控制器的名称?如果您将控制器记录到控制台,您应该能够知道它是什么:console.log(@get('parentView').get('controller')代码>模型似乎为空,但我仍然不确定正在使用哪个控制器。在督察室,我到处都找不到名字。(这是一个巨大的变量树,我知道该去哪里寻找。)然而,这条路线是正确的:组织。新的
。作为最后一种手段,也许我可以在处理此功能的路由中放置一个函数?实际上,我想我刚刚找到了名称:生成的应用程序控制器
。显然不是我想要的。我想我以前见过这个问题。我将再次查看。您可能正在获取应用程序控制器,因为您正在查看“父视图”。如果只执行@get('controller')
,会发生什么?