Ember rendering multiple models










1















I want to render multiple models into the same route.
The data is coming from a DRF api in JSON format.
I need to access the data in the template separately.










share|improve this question




























    1















    I want to render multiple models into the same route.
    The data is coming from a DRF api in JSON format.
    I need to access the data in the template separately.










    share|improve this question


























      1












      1








      1








      I want to render multiple models into the same route.
      The data is coming from a DRF api in JSON format.
      I need to access the data in the template separately.










      share|improve this question
















      I want to render multiple models into the same route.
      The data is coming from a DRF api in JSON format.
      I need to access the data in the template separately.







      ember.js






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 12 '18 at 16:11







      naseem

















      asked Nov 12 '18 at 16:01









      naseemnaseem

      329




      329






















          2 Answers
          2






          active

          oldest

          votes


















          1














          The things you have to keep in mind that



          1. You are using a DRF backend (so you must use Ember DRF Adapter and Serializer), for more information use this link.
            Make sure that adapter and model has the same name.


          2. You've to load more than one model into the route


          so here you can make use of RSVP hash,



          example:



          import Route from '@ember/routing/route';
          import hash from 'rsvp'

          export default Route.extend(
          model: function()
          return hash(
          post1: this.store.findAll('model1');
          post2: this.store.findAll('model2');
          );
          ,
          setupController(controller, model)
          this._super(...arguments);
          Ember.set(controller, 'post1', model.post1);
          Ember.set(controller, 'post2', model.post2);

          );


          Now in the template.hbs you can access this model as follows,



          #each post1 as 
          <p>people</p>
          /each
          #each post2 as
          <p>user</p>
          /each





          share|improve this answer






























            1














            Just use Ember.RSVP hashes.
            It's quite simple, just import RSVP like so :



            import RSVP from 'rsvp';


            And then you load the model like so



            model() 
            return RSVP.hash(
            user: this.store.findAll('user'),
            model2: this.store.findAll('model2')
            );



            And then when you want to access to the different two model in your template for example just do : model.model2



            So for example if the first loaded model is a user do model.user.firstObject.firstName or like so in your template.hbs model.user.firstObject.firstName



            You will find some documentation about it here : Ember RSVP documentation






            share|improve this answer
























              Your Answer






              StackExchange.ifUsing("editor", function ()
              StackExchange.using("externalEditor", function ()
              StackExchange.using("snippets", function ()
              StackExchange.snippets.init();
              );
              );
              , "code-snippets");

              StackExchange.ready(function()
              var channelOptions =
              tags: "".split(" "),
              id: "1"
              ;
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function()
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled)
              StackExchange.using("snippets", function()
              createEditor();
              );

              else
              createEditor();

              );

              function createEditor()
              StackExchange.prepareEditor(
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: true,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: 10,
              bindNavPrevention: true,
              postfix: "",
              imageUploader:
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              ,
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              );



              );













              draft saved

              draft discarded


















              StackExchange.ready(
              function ()
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53265863%2fember-rendering-multiple-models%23new-answer', 'question_page');

              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              1














              The things you have to keep in mind that



              1. You are using a DRF backend (so you must use Ember DRF Adapter and Serializer), for more information use this link.
                Make sure that adapter and model has the same name.


              2. You've to load more than one model into the route


              so here you can make use of RSVP hash,



              example:



              import Route from '@ember/routing/route';
              import hash from 'rsvp'

              export default Route.extend(
              model: function()
              return hash(
              post1: this.store.findAll('model1');
              post2: this.store.findAll('model2');
              );
              ,
              setupController(controller, model)
              this._super(...arguments);
              Ember.set(controller, 'post1', model.post1);
              Ember.set(controller, 'post2', model.post2);

              );


              Now in the template.hbs you can access this model as follows,



              #each post1 as 
              <p>people</p>
              /each
              #each post2 as
              <p>user</p>
              /each





              share|improve this answer



























                1














                The things you have to keep in mind that



                1. You are using a DRF backend (so you must use Ember DRF Adapter and Serializer), for more information use this link.
                  Make sure that adapter and model has the same name.


                2. You've to load more than one model into the route


                so here you can make use of RSVP hash,



                example:



                import Route from '@ember/routing/route';
                import hash from 'rsvp'

                export default Route.extend(
                model: function()
                return hash(
                post1: this.store.findAll('model1');
                post2: this.store.findAll('model2');
                );
                ,
                setupController(controller, model)
                this._super(...arguments);
                Ember.set(controller, 'post1', model.post1);
                Ember.set(controller, 'post2', model.post2);

                );


                Now in the template.hbs you can access this model as follows,



                #each post1 as 
                <p>people</p>
                /each
                #each post2 as
                <p>user</p>
                /each





                share|improve this answer

























                  1












                  1








                  1







                  The things you have to keep in mind that



                  1. You are using a DRF backend (so you must use Ember DRF Adapter and Serializer), for more information use this link.
                    Make sure that adapter and model has the same name.


                  2. You've to load more than one model into the route


                  so here you can make use of RSVP hash,



                  example:



                  import Route from '@ember/routing/route';
                  import hash from 'rsvp'

                  export default Route.extend(
                  model: function()
                  return hash(
                  post1: this.store.findAll('model1');
                  post2: this.store.findAll('model2');
                  );
                  ,
                  setupController(controller, model)
                  this._super(...arguments);
                  Ember.set(controller, 'post1', model.post1);
                  Ember.set(controller, 'post2', model.post2);

                  );


                  Now in the template.hbs you can access this model as follows,



                  #each post1 as 
                  <p>people</p>
                  /each
                  #each post2 as
                  <p>user</p>
                  /each





                  share|improve this answer













                  The things you have to keep in mind that



                  1. You are using a DRF backend (so you must use Ember DRF Adapter and Serializer), for more information use this link.
                    Make sure that adapter and model has the same name.


                  2. You've to load more than one model into the route


                  so here you can make use of RSVP hash,



                  example:



                  import Route from '@ember/routing/route';
                  import hash from 'rsvp'

                  export default Route.extend(
                  model: function()
                  return hash(
                  post1: this.store.findAll('model1');
                  post2: this.store.findAll('model2');
                  );
                  ,
                  setupController(controller, model)
                  this._super(...arguments);
                  Ember.set(controller, 'post1', model.post1);
                  Ember.set(controller, 'post2', model.post2);

                  );


                  Now in the template.hbs you can access this model as follows,



                  #each post1 as 
                  <p>people</p>
                  /each
                  #each post2 as
                  <p>user</p>
                  /each






                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Nov 12 '18 at 16:20









                  SreenathSreenath

                  12111




                  12111























                      1














                      Just use Ember.RSVP hashes.
                      It's quite simple, just import RSVP like so :



                      import RSVP from 'rsvp';


                      And then you load the model like so



                      model() 
                      return RSVP.hash(
                      user: this.store.findAll('user'),
                      model2: this.store.findAll('model2')
                      );



                      And then when you want to access to the different two model in your template for example just do : model.model2



                      So for example if the first loaded model is a user do model.user.firstObject.firstName or like so in your template.hbs model.user.firstObject.firstName



                      You will find some documentation about it here : Ember RSVP documentation






                      share|improve this answer





























                        1














                        Just use Ember.RSVP hashes.
                        It's quite simple, just import RSVP like so :



                        import RSVP from 'rsvp';


                        And then you load the model like so



                        model() 
                        return RSVP.hash(
                        user: this.store.findAll('user'),
                        model2: this.store.findAll('model2')
                        );



                        And then when you want to access to the different two model in your template for example just do : model.model2



                        So for example if the first loaded model is a user do model.user.firstObject.firstName or like so in your template.hbs model.user.firstObject.firstName



                        You will find some documentation about it here : Ember RSVP documentation






                        share|improve this answer



























                          1












                          1








                          1







                          Just use Ember.RSVP hashes.
                          It's quite simple, just import RSVP like so :



                          import RSVP from 'rsvp';


                          And then you load the model like so



                          model() 
                          return RSVP.hash(
                          user: this.store.findAll('user'),
                          model2: this.store.findAll('model2')
                          );



                          And then when you want to access to the different two model in your template for example just do : model.model2



                          So for example if the first loaded model is a user do model.user.firstObject.firstName or like so in your template.hbs model.user.firstObject.firstName



                          You will find some documentation about it here : Ember RSVP documentation






                          share|improve this answer















                          Just use Ember.RSVP hashes.
                          It's quite simple, just import RSVP like so :



                          import RSVP from 'rsvp';


                          And then you load the model like so



                          model() 
                          return RSVP.hash(
                          user: this.store.findAll('user'),
                          model2: this.store.findAll('model2')
                          );



                          And then when you want to access to the different two model in your template for example just do : model.model2



                          So for example if the first loaded model is a user do model.user.firstObject.firstName or like so in your template.hbs model.user.firstObject.firstName



                          You will find some documentation about it here : Ember RSVP documentation







                          share|improve this answer














                          share|improve this answer



                          share|improve this answer








                          edited Dec 6 '18 at 13:17

























                          answered Nov 12 '18 at 16:11









                          DjamelDjamel

                          319214




                          319214



























                              draft saved

                              draft discarded
















































                              Thanks for contributing an answer to Stack Overflow!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid


                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.

                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function ()
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53265863%2fember-rendering-multiple-models%23new-answer', 'question_page');

                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              Use pre created SQLite database for Android project in kotlin

                              Darth Vader #20

                              Ondo