我正在使用ember-data从服务器端获取json响应,我的embeer模型看起来像。
App.Field = DS.Model.extend
component: DS.attr 'string'
fieldinfos: DS.hasMany('App.Fieldinfo')
App.Field.reopenClass
forInstitution: (institution)->
App.Field.find { institution_id: institution.id }
我的json响应看起来像
{
:login_fields => [
[0] {
:component => "ns4:FieldInfoComponent",
:id => 1,
:fieldinfo_ids => [
[0] 1
]
},
[1] {
:component => "ns4:FieldInfoComponent",
:id => 2,
:fieldinfo_ids => [
[0] 2
]
},
[2] {
:component => "ns4:FieldInfoComponent",
:id => 3,
:fieldinfo_ids => [
[0] 3
]
}
],
:fieldinfos => [
[0] {
:field_info_obj => "FieldInfoSingle",
:login_field_id => 1,
:id => 1,
:element_ids => [
[0] 1
]
},
[1] {
:field_info_obj => "FieldInfoSingle",
:login_field_id => 2,
:id => 2,
:element_ids => [
[0] 2
]
},
[2] {
:field_info_obj => "FieldInfoSingle",
:login_field_id => 3,
:id => 3,
:element_ids => [
[0] 3
]
}
]
}
当我打电话一次时,它完美无缺
App.Field.find {institution_id:1}
但如果我再次呼吁不同的机构,请介于两者之间 App.Field.find {institution_id:2}
以下是每当机构更改时获取登录字段的代码
loginFields: (->
return [] unless @get('institution')?
App.LoginField.forInstitution(@get 'institution')
).property 'institution'
它让我尝试在状态rootState.loaded.updated.uncommitted中处理事件loadedData
。调用未定义的错误
我在这里做错了什么以及我需要做些什么来解决这个错误。帮助!