Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Ember.js中的脏对象上设置belongsTo关系_Ember.js - Fatal编程技术网

在Ember.js中的脏对象上设置belongsTo关系

在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

我使用的是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 = @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')
,会发生什么?