我正在尝试将Drupal Services端点中的实体读入我的Sencha Touch 2应用程序。 JSON输出看起来像这样(简化):
{
nid: 1
title: 'Test'
body: {
'en': [
'This is a test.'
]
}
}
该模型的coffeescript代码:
Ext.define 'Node',
extend: 'Ext.data.Model'
config:
idProperty: 'nid'
fields: [
{ name: 'nid', type: 'integer' }
{ name: 'title', type: 'string' }
{ name: 'language', type: 'string' }
{ name: 'body', type: 'auto', convert: convertField }
]
proxy:
type: 'jsonp'
url: 'http://www.mydomain.com/rest/node'
convertField = (value, record) ->
console.log value # always "undefined"
return 'test'
使用jsonp代理加载模型有效,但只填充原子字段(如“nid”和“title”)。我尝试向模型body
字段添加"convert" function,但value
参数始终未定义。
有没有办法将复杂的json数据加载到模型字段中?或者我必须使用模型关系系统(这将是很多混乱......)。我还想过覆盖一个Ext.data.Reader,但我真的不知道从哪里开始。