I have a few models in Rails that look something like this:
class Issue < ActiveRecord::Base
belongs_to :reporter, class_name: \'User\'
belongs_to :assign
You should read this page. The section of Revision 12 explains about the sideloading of data of the same type:
Now, homeAddress and workAddress will be expected to be sideloaded together as addresses because they are the same type. Furthermore, the default root naming conventions (underscore and lowercase) will now also be applied to sideloaded root names.
Your Model should be like:
App.Issue = DS.Model.extend({
reporter: DS.belongsTo('App.User'),
assignee: DS.belongsTo('App.User'),
comments: DS.hasMany('App.Comment')
});
The JSON Result should have a key for the users:
{
"issues": [
{
"id": 6,
"reporter_id": 1,
"assignee_id": 2,
"comment_ids": [
3
]
},
],
"comments": [
{
"id": 3
"body": "Great comment"
}
],
"users": [
{
"id": 1
"name": "Ben Burton"
},{
"id": 2
"name": "Jono Mallanyk"
}
]
}
Because you configured in your Model that the reporter
is of type User
, Ember search for a user in the result.