I'm trying to create a hasOne association on a model, and provide the associated data along with the parent model's data.

But I'm not sure how to configure the association, or how to access the associated data from an instance of the parent model. Could someone point me in the right direction?

As an example, with data like this:
Code:
{
  firstName: 'Joe',
  address: {
     street: 'Avenue L',
     city: 'Brooklyn'
  }
}
And models like this:
Code:
Ext.define('app.model.Person', {
	extend: 'Ext.data.Model',
	config: {
		fields: [
			{name: "firstName", type: "string"}
		],
		hasOne: {
			// this is the part I'm not sure about
			model: 'app.model.Address',
			name: 'address'
		},
		proxy: {
			type: 'ajax',
			...
			reader: {
				type: 'json'
			}
		}
	}
});

Ext.define('app.model.Address', {
	extend: 'Ext.data.Model',
	config: {
		fields: [
			{name: "street", type: "string"},
			{name: "city", type: "string"}
		]
	}
});
What would I put inside hasOne? And how would I access a Person's associated Address?

The intro to the API docs for HasOne is a little confusing. It seems to indicate that if X hasOne Y, the hasOne association should be configured on Y's model, not X's. Is this a typo? Also, the config names on the Ext.data.association.* classes (e.g. "associatedModel") are different from the ones used in almost every example (e.g. "model"). So it's not clear what maps to what.