dixplo / BigBrainsBoard-Project

Heroku: https://board-leotexier.herokuapp.com/
0 stars 0 forks source link

Add Developpers #6

Closed LeoTexier closed 4 years ago

LeoTexier commented 4 years ago

L'ajout de développeur ne retourne aucune erreur et aucun ajout quand on appel l'action:


  <div class="fields">
    <div class="field">
      <label>Pseudo</label>
      <Input @value={{identity}} name="identity" placeholder="Pseudo" class="ui input"/>
    </div>
    <div class="field">
      <label>Name</label>
      <Input @value={{name}} name="name" placeholder="Name" class="ui input"/>
    </div>
    <div class="field">
      <label>First Name</label>
      <Input @value={{fname}} name="fname" placeholder="First Name" class="ui input"/>
    </div>
  </div>
  <div class="ui error message"></div>
  <div {{action "addNew" identity name fname}} id="closeForm" class="ui submit button">Add</div>
</div>
jcheron commented 4 years ago

Ce serait bien de voir la route associée...

LeoTexier commented 4 years ago

export default Route.extend({
  model() {
          return this.get('store').findAll('developer');
      },
  actions:{
    addNew(m,identity, name, fname){
      if(!identity || !name || !fname){

      }
      else{
        //let store=this.get('store');
        m.set('content',""); // Sert à mettre les champs vides quand l'ajout est fait
        this.get('store').createRecord('developer',{identity: identity, name: name,fname:fname}).save(); // developer désigne le model
        //developer.save();
      }
    },
    remove(developer){
      developer.deleteRecord();
      developer.save();
    }
  }
});
jcheron commented 4 years ago

Modifiez le model Hook :

import RSVP from 'rsvp';

export default Route.extend({
  model() {
          return RSVP.hash({
            developers: this.get('store').findAll('developer'),
            dev: EmberObject.create()
         });
      },
}

Modifiez le template en conséquence:

<div class="fields">
    <div class="field">
      <label>Pseudo</label>
      <Input @value={{model.dev.identity}} name="identity" placeholder="Pseudo" class="ui input"/>
    </div>
    <div class="field">
      <label>Name</label>
      <Input @value={{model.dev.name}} name="name" placeholder="Name" class="ui input"/>
    </div>
    <div class="field">
      <label>First Name</label>
      <Input @value={{model.dev.fname}} name="fname" placeholder="First Name" class="ui input"/>
    </div>
  </div>
  <div class="ui error message"></div>
  <div {{action "addNew" model.dev}} id="closeForm" class="ui submit button">Add</div>
</div>

Modifiez l'action en conséquence:

  actions:{
    addNew(dev){
        this.get('store').createRecord('developer',dev).save();
      }
    }