Advertisement
Guest User

Untitled

a guest
Feb 28th, 2015
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.88 KB | None | 0 0
  1. // Here is our fruit model
  2. module.exports = App.Fruit= DS.Model.extend({
  3. name: attr('string'),
  4. color: attr('string')
  5. });
  6.  
  7. // This is easy to create and save
  8. var fruit = this.store.createRecord('fruit', {
  9. name: 'apple',
  10. color: 'red'
  11. });
  12.  
  13. fruit.save().then(successCallback, errorCallback);
  14.  
  15. module.exports = App.Fruit= DS.Model.extend({
  16. name: attr('string'),
  17. color: attr('string')
  18. basket: DS.belongsTo('basket')
  19. });
  20.  
  21. module.exports = App.Basket = DS.Model.extend({
  22. fruits: DS.hasMany('fruit', {async:true})
  23. });
  24.  
  25. var newFruits = Ember.A();
  26.  
  27. newFruits.pushObject(this.store.createRecord('fruit', {
  28. name: 'orange',
  29. color: 'orange'
  30. }));
  31.  
  32. newFruits.pushObject(this.store.createRecord('fruit', {
  33. name: 'banana',
  34. color: 'yellow'
  35. }));
  36.  
  37. var basket = this.store.createRecord('basket', {
  38. fruits: newFruits
  39. });
  40.  
  41. basket.save().then(successCallback, errorCallback);
  42.  
  43. {
  44. basket: {
  45. fruits: []
  46. }
  47. }
  48.  
  49. -------------------------------
  50. Ember : 1.3.2+pre.25108e91
  51. Ember Data : 1.0.0-beta.7+canary.238bb5ce
  52. Handlebars : 1.3.0
  53. jQuery : 2.0.3
  54. -------------------------------
  55.  
  56. var basket = this.store.createRecord('basket', {});
  57.  
  58. basket.get('fruits').addObject(this.store.createRecord('fruit', {
  59. name: 'orange',
  60. color: 'orange'
  61. }));
  62.  
  63. basket.get('fruits').addObject(this.store.createRecord('fruit', {
  64. name: 'banana',
  65. color: 'yellow'
  66. }));
  67.  
  68. basket.save().then(function(){
  69. var promises = Ember.A();
  70. basket.get('fruits').forEach(function(item){
  71. promises.push(item.save());
  72. });
  73. Ember.RSVP.Promise.all(promises).then(function(resolvedPromises){
  74. alert('All saved!');
  75. });
  76. });
  77.  
  78. var basket = this.store.createRecord('basket', {});
  79.  
  80. basket.get('fruits').then(function(){
  81. // Now the fruits array is available
  82. basket.get('fruits').addObject(this.store.createRecord('fruit', { /* ... */ }));
  83. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement