Skip to content

Instantly share code, notes, and snippets.

@tsubik
Created May 16, 2016 11:23
Show Gist options
  • Save tsubik/895de8ac8b138b3c18412b7c77668bdb to your computer and use it in GitHub Desktop.
Save tsubik/895de8ac8b138b3c18412b7c77668bdb to your computer and use it in GitHub Desktop.
EmberFire Embedded Relations
import Ember from "ember";
import FirebaseAdapter from "emberfire/adapters/firebase";
const { inject } = Ember;
export default FirebaseAdapter.extend({
firebase: inject.service()
});
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'Ember Twiddle',
actions: {
add() {
const event = this.store.createRecord("event");
event.save();
}
}
});
import Model from "ember-data/model";
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
export default Model.extend({
users: hasMany("user", { async: false })
});
import Model from "ember-data/model";
import attr from "ember-data/attr";
import { belongsTo, hasMany } from "ember-data/relationships";
export default Model.extend({
event: belongsTo("event", { async: false })
});
import FirebaseSerializer from "emberfire/serializers/firebase";
export default FirebaseSerializer.extend({
attrs: {
users: { embedded: "always" }
}
});
<h1>Welcome to {{appName}}</h1>
<br>
<br>
<button {{action "add"}}>Add User</button>
{{outlet}}
<br>
<br>
{
"version": "0.8.1",
"EmberENV": {
"FEATURES": {},
"firebase": "https://blistering-inferno-1892.firebaseio.com/"
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.3/jquery.js",
"ember": "canary",
"ember-data": "canary",
"ember-template-compiler": "canary",
"emberfire": "1.6.6"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment