Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-16 Par sujet Philippe Demaria
Mince parti trop vite.

C'est juste parfait... J'ai donc écris le code ci dessous.

*Model :*
je crée un model générique :

class ExoAlea
  include Mongoid::Document
  include Mongoid::Timestamps

  field :title, type: String
  field :text, type: String
  field :help, type: String
  field :time, type: Integer
  field :reponseStudent, type: Integer
  field :a, type: Integer
  field :b, type: Integer
  field :c, type: Integer
  field :d, type: Integer

  validates :title, presence: true
  validates :text, presence: true
  validates :time, presence: true
  validates :help, presence: true
  validates :reponseStudent, presence: true, on: :validation

  validate :valid_answer, on: :update
 
  def valid_answer
errors.add(:anwser, Réponse fausse) unless result_valid?
  end

  def result_valid?
#  une validation par défaut
  end 

  def enunciated
   #  un enoncé par défaut
  end
end

puis un model par exercice spécifique :
class ExoDiscriminant  ExoAlea
  def result_valid?
 # Validation spécifique
  end

  def enunciated
# Énoncé spéfique
  end
end


*Views*
Dans ma vue show , j'utilise la méthode @exoAlea.enunciated et j'enlève le 
helper. 
J'aurai donc une seule vue pour tous mes 1000 exercices. C'est top ! 


*Question 1 : Ma vue show.html.erb doit être dans le dossier app/exoAlea ? 
ou dans le dossier app/Exo_discriminant ? ou dans layout ?*

*Controller *

Comment se nomme ce controller ? exo_alea_controller ou 
exo_discriminant_controller ? 

Dans le contrôleur, te me dis tu n'a juste a changer la classe instanciée.
Si je comprends bien c'est le controller qui se nomme exo_alea_controller.
Dans ce controller, comment je change la classe instanciée ? je peux la 
nommée @exoAlea.enunciated ?

*Question 2 : Est ce que le controller resemble donc à ça ?*

class ExoAleaController  ApplicationController
  before_action :set_exo_alea, only: [:show, :edit, :update, :destroy, 
:validation]

  # GET /exo_alea 
  # GET /exo_alea.json
  def index
@exo_alea= ExoAlea.all
  end

  # GET /exo_alea/1
  # GET /exo_alea/1.json
  def show
@exo_alea= ExoAlea.find(params[:id])
@a=rand(20)-rand(20)
@b=rand(2..7)
@c=rand(20)-rand(20)
@d=rand(2..7) 
  end

  # GET /exo_alea/new
  def new
@exo_alea= ExoAlea.new
  end

  # GET /exo_alea/1/edit
  def edit
  end

  # POST /exo_alea  
  # POST /exo_alea.json
  def create
@exo_alea= ExoAlea.new(exo_alea_params)

respond_to do |format|
  if @exo_alea.save
format.html { redirect_to @exo_alea, notice: 'Exo sumfraction was 
successfully created.' }
format.json { render :show, status: :created, location: 
@exo_sumfraction }
  else
format.html { render :new }
format.json { render json: @exo_alea.errors, status: 
:unprocessable_entity }
  end
end
  end

  # PATCH/PUT /exo_sumfractions/1
  # PATCH/PUT /exo_sumfractions/1.json
  def update
respond_to do |format|
  if @exo_alea.update(exo_alea_params)
format.html { redirect_to @exo_alea, notice: 'Exo alea was 
successfully updated.' }
format.json { render :show, status: :ok, location: @exo_alea}
  else
format.html { render :edit }
format.json { render json: @exo_alea.errors, status: 
:unprocessable_entity }
  end
end
  end

  # DELETE /exo_alea/1
  # DELETE /exo_alea/1.json
  def destroy
@exo_alea.destroy
respond_to do |format|
  format.html { redirect_to exo_alea_url, notice: 'Exo alea was 
successfully destroyed.' }
  format.json { head :no_content }
end
  end

private

def set_exo_alea
  @exo_alea= ExoAlea.find(params[:id])
end

def exo_alea_params
  params.require(:exo_alea).permit(:title, :text, :help, :string, :time)
end

end

Merci infiniment.

Le jeudi 16 avril 2015 07:04:57 UTC-5, Philippe Demaria a écrit :

 C'est juste parfait... J'ai donc écris le code ci dessous.

 *Model :*
 je crée un model générique :

 class ExoAlea
   include Mongoid::Document
   include Mongoid::Timestamps

   field :title, type: String
   field :text, type: String
   field :help, type: String
   field :time, type: Integer
   field :reponseStudent, type: Integer
   field :a, type: Integer
   field :b, type: Integer
   field :c, type: Integer
   field :d, type: Integer

   validates :title, presence: true
   validates :text, presence: true
   validates :time, presence: true
   validates :help, presence: true
   validates :reponseStudent, presence: true, on: :validation

   validate :valid_answer, on: :update
  
   def valid_answer
 errors.add(:anwser, Réponse fausse) unless result_valid?
   end

   def result_valid?
 #  une validation par défaut
   end 

   def enunciated
#  un enoncé par défaut
   end
 end

 puis un model par exercice spécifique :
 class ExoDiscriminant  ExoAlea
   def result_valid?
  # Validation spécifique
   end

   def enunciated
 # Énoncé spéfique
   end
 end

 *Question 1 : Donc si j'ai 1000 exos, j'aurais 1000 models 

Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-16 Par sujet Olivier El Mekki
Sans vouloir être rabbat joie, peut-être devriez-vous tout deux continuer 
cette discussion par mail privé, cela commence à devenir plus du pair 
programming qu'une discussion ouverte à mailer à des centaines de personnes 
;)



On Thursday, April 16, 2015 at 2:51:41 PM UTC+2, Philippe Demaria wrote:

 Bin non, mon pauvre, je le prends sur mes nuits et sur mes dimanchesEt 
 sur ma famille aussi.
 J'adore essayer de dompter les ordinateurs. C'est juste par challenges 
 intellectuels.
 Mais ce projet, je voudrais le présenter à plus grande échelle, et peut 
 être fonder une association. Alors là, ce serait différent.
 mon mail professionnel est demaria@lbfogota.com javascript:
 .

 Le jeudi 16 avril 2015 07:43:11 UTC-5, Guirec Corbel a écrit :


 = Là tu me parles du controller. Or, je n'ai qu'un seul controller pour 
 tous les exercices, c'est celui qui s'apelle exo_aleas_controller
 .html.erb qui hérite de ExoAleasController  ApplicationController
 Dans mon modèle, je n'ai pas de Exo.find(id).


 Je voulais dire que, dans le contrôleur, quand tu feras 
 un ExoAlea.find(id) il te sortira une instance de la classe fille.

 Je ne voudrais pas abuser mais je fais souvent des vidéo conférence pour 
 mon métier, si tu as un moment, c'est possible pour moi. Par HangOut, vive 
 Google.


 On peut tester ça dimanche peut-être. Est-ce que tu fais ça à des fin 
 professionnel. Si oui, on peut s'arranger pour que je te donne du support à 
 plus long terme.

 Le 16 avril 2015 08:37, Philippe Demaria demaria@lfbogota.com a 
 écrit :

 Ça commence à ressembler à quelque chose de bien. Je pense que tu bouger 
 ceci : 

 @a=rand(20)-rand(20)
 @b=rand(2..7)
 @c=rand(20)-rand(20)
 @d=rand(2..7) 

 dans ton modèle.  = je viens de le faire. OK.


 Normalement, ta vue sera dans 
 app/views/ton_controlleur_au_pluriel/ton_action.html.erb. 
 Pour ton contrôleur, ça dépend de ce que tu veux. D'après ce que je 
 comprends tu à la possibilité de créer/modifier/supprimer des exercices. 
 Pour moi, tu devrais créer un contrôleur pour ajouter une nouvelle réponse. 
 Je crois que je créer un AnswersController. Tu vue sera donc dans 
 app/views/answers/new.html.erb.

 = Mon dossier qui contient ma vue s'appelle exo_aleas. Ma vue est donc 
 dans app/wiews/exos_aleas/show.html.erb. Jusque là, c'est bon.
 Une fois que l'exercice aléatoire est créé avec sa réponse, je ne le 
 touche plus jamais !

 Au niveau de l'instanciation, c'est le Single Table Inheritance (STI), 
 comme dans le lien que je t'ai fourni. Si tu un classe ExoDisc qui hérite 
 de Exo, tu peux faire Exo.find(id) et il va te retourner une classe de type 
 ExoDisc.
 = Là tu me parles du controller. Or, je n'ai qu'un seul controller pour 
 tous les exercices, c'est celui qui s'apelle exo_aleas_controller.html.erb 
 qui hérite de ExoAleasController  ApplicationController
 Dans mon modèle, je n'ai pas de Exo.find(id).

 Si tu veux simplifier ton controlleur, tu peux utiliser 
 https://github.com/plataformatec/responders 
 https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fplataformatec%2Fresponderssa=Dsntz=1usg=AFQjCNHNNun_c1fE27LF-1IghU5aS-XDrg
  
 et https://github.com/hashrocket/decent_exposure . = on va y aller 
 doucement. Quand j'aurais tout bien compris je verrai. Je vais déjà migrer 
 de Mongo vers PostGrei.

 J'aime bien aidé les gens quand c'est un problème que je connais bien. 
 Je pense que la communauté Ruby est plus petite que celle de PHP mais très 
 altruiste. Si tu étais proche, je serai probablement venu t'aider.
 Je ne voudrais pas abuser mais je fais souvent des vidéo conférence pour 
 mon métier, si tu as un moment, c'est possible pour moi. Par HangOut, vive 
 Google. 

  -- 
 -- 
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance 
 de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
 rails...@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com
 --- 
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
 concernant, envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com.
 Pour obtenir davantage d'options, consultez la page 
 https://groups.google.com/d/optout.




-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-16 Par sujet Philippe Demaria
Sinon, le code te parait bon ?

-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-16 Par sujet Philippe Demaria
la question que je me pose est :
pour 1000 exos, combien de controlle, de model et de vues ?


Le jeudi 16 avril 2015 06:49:47 UTC-5, Guirec Corbel a écrit :

 Je pense qu'il faudrait que tu utilises l'action new pour afficher le 
 questionnaire et que tu fasses la validation dans create. Il faut essayé de 
 correspondre à une interface CRUD le plus possible. Si ces actions sont 
 déjà prises, je pense que tu devrais créer un nouveau contrôleur. 

 Le 15 avril 2015 21:11, Philippe Demaria demaria@lfbogota.com 
 javascript: a écrit :

 Dans ma vue show, j'ai 
 %= simple_form_for @exo_alea, :url = {:controller = exo_aleas, 
 :action = validation},  defaults: { label: false } do |f| %

 Dans le cas utilisé danbs mon précédent post, 
 je dois changer :url = {:controller = exo_aleas, :action = 
 validation}. Je mets quoi à la place ?

 Merci.




 Le mercredi 15 avril 2015 19:05:26 UTC-5, Philippe Demaria a écrit :

 D'après ce que je comprends : 

 Considérons que je veux créer 1000 exercices aléatoires

 *... eh oui !Model :*
 je crée un model générique :

 class ExoAlea
   include Mongoid::Document
   include Mongoid::Timestamps

   field :title, type: String
   field :text, type: String
   field :help, type: String
   field :time, type: Integer
   field :reponseStudent, type: Integer
   field :a, type: Integer
   field :b, type: Integer
   field :c, type: Integer
   field :d, type: Integer

   validates :title, presence: true
   validates :text, presence: true
   validates :time, presence: true
   validates :help, presence: true
   validates :reponseStudent, presence: true, on: :validation

   validate :valid_answer, on: :update
  
   def valid_answer
 errors.add(:anwser, Réponse fausse) unless result_valid?
   end

   def result_valid?
 #  une validation par défaut
   end 

   def enunciated
#  un enoncé par défaut
   end
 end

 puis un model par exercice spécifique :
 class ExoDiscriminant  ExoAlea
   def result_valid?
  # Validation spécifique
   end

   def enunciated
 # Énoncé spéfique
   end
 end

 *Question 1 : Donc si j'ai 1000 exos, j'aurais 1000 models specifiques ?*

 *Views*
 Dans ma vue show , j'utilise la méthode @exoAlea.enunciated et j'enlève 
 le helper. 
 J'aurai donc une seule vue pour tous mes 1000 exercices. C'est top ! 


 *Question 2 : Ma vue show.html.erb doit être dans le dossier app/exoAlea 
 ? ou dans le dossier app/Exo_discriminant ? ou dans layout ?*

 *Controller *

 Comment se nomme ce controller ? exo_alea_controller ou 
 exo_discriminant_controller ? 

 Dans le contrôleur, te me dis tu n'a juste a changer la classe 
 instanciée.
 Si je comprends bien c'est le controller qui se nomme 
 exo_alea_controller.
 Dans ce controller, comment je change la classe instanciée ? je peux la 
 nommée @exoAlea.enunciated ?

 *Question 3 : J'ai un unique controller ou 1000 controllers ?*

 *Question 4 : Est ce que le controller resemble donc à ça ?*

 class ExoAleaController  ApplicationController
   before_action :set_exo_alea, only: [:show, :edit, :update, :destroy, 
 :validation]

   # GET /exo_alea 
   # GET /exo_alea.json
   def index
 @exo_alea= ExoAlea.all
   end

   # GET /exo_alea/1
   # GET /exo_alea/1.json
   def show
 @exo_alea= ExoAlea.find(params[:id])
 @a=rand(20)-rand(20)
 @b=rand(2..7)
 @c=rand(20)-rand(20)
 @d=rand(2..7) 
   end

   # GET /exo_alea/new
   def new
 @exo_alea= ExoAlea.new
   end

   # GET /exo_alea/1/edit
   def edit
   end

   # POST /exo_alea  
   # POST /exo_alea.json
   def create
 @exo_alea= ExoAlea.new(exo_alea_params)

 respond_to do |format|
   if @exo_alea.save
 format.html { redirect_to @exo_alea, notice: 'Exo sumfraction 
 was successfully created.' }
 format.json { render :show, status: :created, location: 
 @exo_sumfraction }
   else
 format.html { render :new }
 format.json { render json: @exo_alea.errors, status: 
 :unprocessable_entity }
   end
 end
   end

   # PATCH/PUT /exo_sumfractions/1
   # PATCH/PUT /exo_sumfractions/1.json
   def update
 respond_to do |format|
   if @exo_alea.update(exo_alea_params)
 format.html { redirect_to @exo_alea, notice: 'Exo alea was 
 successfully updated.' }
 format.json { render :show, status: :ok, location: @exo_alea}
   else
 format.html { render :edit }
 format.json { render json: @exo_alea.errors, status: 
 :unprocessable_entity }
   end
 end
   end

   # DELETE /exo_alea/1
   # DELETE /exo_alea/1.json
   def destroy
 @exo_sumfraction.destroy
 respond_to do |format|
   format.html { redirect_to exo_alea_url, notice: 'Exo alea was 
 successfully destroyed.' }
   format.json { head :no_content }
 end
   end

 private

 def set_exo_alea
   @exo_sumfraction = ExoSumfraction.find(params[:id])
 end

 def exo_alea_params
   params.require(:exo_alea).permit(:title, :text, :help, :string, 
 :time)
 end

 end

Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-16 Par sujet Philippe Demaria
C'est juste parfait... J'ai donc écris le code ci dessous.

*Model :*
je crée un model générique :

class ExoAlea
  include Mongoid::Document
  include Mongoid::Timestamps

  field :title, type: String
  field :text, type: String
  field :help, type: String
  field :time, type: Integer
  field :reponseStudent, type: Integer
  field :a, type: Integer
  field :b, type: Integer
  field :c, type: Integer
  field :d, type: Integer

  validates :title, presence: true
  validates :text, presence: true
  validates :time, presence: true
  validates :help, presence: true
  validates :reponseStudent, presence: true, on: :validation

  validate :valid_answer, on: :update
 
  def valid_answer
errors.add(:anwser, Réponse fausse) unless result_valid?
  end

  def result_valid?
#  une validation par défaut
  end 

  def enunciated
   #  un enoncé par défaut
  end
end

puis un model par exercice spécifique :
class ExoDiscriminant  ExoAlea
  def result_valid?
 # Validation spécifique
  end

  def enunciated
# Énoncé spéfique
  end
end

*Question 1 : Donc si j'ai 1000 exos, j'aurais 1000 models specifiques ?*

*Views*
Dans ma vue show , j'utilise la méthode @exoAlea.enunciated et j'enlève le 
helper. 
J'aurai donc une seule vue pour tous mes 1000 exercices. C'est top ! 


*Question 2 : Ma vue show.html.erb doit être dans le dossier app/exoAlea ? 
ou dans le dossier app/Exo_discriminant ? ou dans layout ?*

*Controller *

Comment se nomme ce controller ? exo_alea_controller ou 
exo_discriminant_controller ? 

Dans le contrôleur, te me dis tu n'a juste a changer la classe instanciée.
Si je comprends bien c'est le controller qui se nomme exo_alea_controller.
Dans ce controller, comment je change la classe instanciée ? je peux la 
nommée @exoAlea.enunciated ?

*Question 3 : J'ai un unique controller ou 1000 controllers ?*

*Question 4 : Est ce que le controller resemble donc à ça ?*

class ExoAleaController  ApplicationController
  before_action :set_exo_alea, only: [:show, :edit, :update, :destroy, 
:validation]

  # GET /exo_alea 
  # GET /exo_alea.json
  def index
@exo_alea= ExoAlea.all
  end

  # GET /exo_alea/1
  # GET /exo_alea/1.json
  def show
@exo_alea= ExoAlea.find(params[:id])
@a=rand(20)-rand(20)
@b=rand(2..7)
@c=rand(20)-rand(20)
@d=rand(2..7) 
  end

  # GET /exo_alea/new
  def new
@exo_alea= ExoAlea.new
  end

  # GET /exo_alea/1/edit
  def edit
  end

  # POST /exo_alea  
  # POST /exo_alea.json
  def create
@exo_alea= ExoAlea.new(exo_alea_params)

respond_to do |format|
  if @exo_alea.save
format.html { redirect_to @exo_alea, notice: 'Exo sumfraction was 
successfully created.' }
format.json { render :show, status: :created, location: 
@exo_sumfraction }
  else
format.html { render :new }
format.json { render json: @exo_alea.errors, status: 
:unprocessable_entity }
  end
end
  end

  # PATCH/PUT /exo_sumfractions/1
  # PATCH/PUT /exo_sumfractions/1.json
  def update
respond_to do |format|
  if @exo_alea.update(exo_alea_params)
format.html { redirect_to @exo_alea, notice: 'Exo alea was 
successfully updated.' }
format.json { render :show, status: :ok, location: @exo_alea}
  else
format.html { render :edit }
format.json { render json: @exo_alea.errors, status: 
:unprocessable_entity }
  end
end
  end

  # DELETE /exo_alea/1
  # DELETE /exo_alea/1.json
  def destroy
@exo_alea.destroy
respond_to do |format|
  format.html { redirect_to exo_alea_url, notice: 'Exo alea was 
successfully destroyed.' }
  format.json { head :no_content }
end
  end

private

def set_exo_alea
  @exo_alea= ExoAlea.find(params[:id])
end

def exo_alea_params
  params.require(:exo_alea).permit(:title, :text, :help, :string, :time)
end

end

Bon quand tu auras répondu à ces 4 questions, j'espère que tu m'auras donné 
la solution.

Merci infiniment.

Le jeudi 16 avril 2015 06:57:17 UTC-5, Guirec Corbel a écrit :

 1 controlleur, une vue, 1 modèle de base et des modèles enfants pour la 
 logique spécifique de chaque exercice.

 Le 16 avril 2015 07:56, Philippe Demaria demaria@lfbogota.com 
 javascript: a écrit :

 la question que je me pose est :
 pour 1000 exos, combien de controlle, de model et de vues ?


 Le jeudi 16 avril 2015 06:49:47 UTC-5, Guirec Corbel a écrit :

 Je pense qu'il faudrait que tu utilises l'action new pour afficher le 
 questionnaire et que tu fasses la validation dans create. Il faut essayé de 
 correspondre à une interface CRUD le plus possible. Si ces actions sont 
 déjà prises, je pense que tu devrais créer un nouveau contrôleur. 

 Le 15 avril 2015 21:11, Philippe Demaria demaria@lfbogota.com a 
 écrit :

 Dans ma vue show, j'ai 
 %= simple_form_for @exo_alea, :url = {:controller = exo_aleas, 
 :action = validation},  defaults: { label: false } do |f| %

 Dans le cas utilisé danbs mon précédent post, 
 je dois 

Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-16 Par sujet Philippe Demaria
C'est juste parfait... J'ai donc écris le code ci dessous.

*Model :*
je crée un model générique :

class ExoAlea
  include Mongoid::Document
  include Mongoid::Timestamps

  field :title, type: String
  field :text, type: String
  field :help, type: String
  field :time, type: Integer
  field :reponseStudent, type: Integer
  field :a, type: Integer
  field :b, type: Integer
  field :c, type: Integer
  field :d, type: Integer

  validates :title, presence: true
  validates :text, presence: true
  validates :time, presence: true
  validates :help, presence: true
  validates :reponseStudent, presence: true, on: :validation

  validate :valid_answer, on: :update
 
  def valid_answer
errors.add(:anwser, Réponse fausse) unless result_valid?
  end

  def result_valid?
#  une validation par défaut
  end 

  def enunciated
   #  un enoncé par défaut
  end
end

puis un model par exercice spécifique :
class ExoDiscriminant  ExoAlea
  def result_valid?
 # Validation spécifique
  end

  def enunciated
# Énoncé spéfique
  end
end


*Views*
Dans ma vue show , j'utilise la méthode @exoAlea.enunciated et j'enlève le 
helper. 
J'aurai donc une seule vue pour tous mes 1000 exercices. C'est top ! 


*Question 1 : Ma vue show.html.erb doit être dans le dossier app/exoAlea ? 
ou dans le dossier app/Exo_discriminant ? ou dans layout ?*

*Controller *

Comment se nomme ce controller ? exo_alea_controller ou 
exo_discriminant_controller ? 

Dans le contrôleur, te me dis tu n'a juste a changer la classe instanciée.
Si je comprends bien c'est le controller qui se nomme exo_alea_controller.
Dans ce controller, comment je change la classe instanciée ? je peux la 
nommée @exoAlea.enunciated ?



*Question 2 : Est ce que le controller resemble donc à ça ?*

class ExoAleaController  ApplicationController
  before_action :set_exo_alea, only: [:show, :edit, :update, :destroy, 
:validation]

  # GET /exo_alea 
  # GET /exo_alea.json
  def index
@exo_alea= ExoAlea.all
  end

  # GET /exo_alea/1
  # GET /exo_alea/1.json
  def show
@exo_alea= ExoAlea.find(params[:id])
@a=rand(20)-rand(20)
@b=rand(2..7)
@c=rand(20)-rand(20)
@d=rand(2..7) 
  end

  # GET /exo_alea/new
  def new
@exo_alea= ExoAlea.new
  end

  # GET /exo_alea/1/edit
  def edit
  end

  # POST /exo_alea  
  # POST /exo_alea.json
  def create
@exo_alea= ExoAlea.new(exo_alea_params)

respond_to do |format|
  if @exo_alea.save
format.html { redirect_to @exo_alea, notice: 'Exo sumfraction was 
successfully created.' }
format.json { render :show, status: :created, location: 
@exo_sumfraction }
  else
format.html { render :new }
format.json { render json: @exo_alea.errors, status: 
:unprocessable_entity }
  end
end
  end

  # PATCH/PUT /exo_sumfractions/1
  # PATCH/PUT /exo_sumfractions/1.json
  def update
respond_to do |format|
  if @exo_alea.update(exo_alea_params)
format.html { redirect_to @exo_alea, notice: 'Exo alea was 
successfully updated.' }
format.json { render :show, status: :ok, location: @exo_alea}
  else
format.html { render :edit }
format.json { render json: @exo_alea.errors, status: 
:unprocessable_entity }
  end
end
  end

  # DELETE /exo_alea/1
  # DELETE /exo_alea/1.json
  def destroy
@exo_alea.destroy
respond_to do |format|
  format.html { redirect_to exo_alea_url, notice: 'Exo alea was 
successfully destroyed.' }
  format.json { head :no_content }
end
  end

private

def set_exo_alea
  @exo_alea= ExoAlea.find(params[:id])
end

def exo_alea_params
  params.require(:exo_alea).permit(:title, :text, :help, :string, :time)
end

end

Bon quand tu auras répondu à ces 2 questions, j'espère que tu m'auras donné 
la solution.

Merci infiniment.

-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-16 Par sujet Benjamin Guimberteau
+1
Le 16 avr. 2015 14:53, Olivier El Mekki oelme...@gmail.com a écrit :

 Sans vouloir être rabbat joie, peut-être devriez-vous tout deux continuer
 cette discussion par mail privé, cela commence à devenir plus du pair
 programming qu'une discussion ouverte à mailer à des centaines de personnes
 ;)



 On Thursday, April 16, 2015 at 2:51:41 PM UTC+2, Philippe Demaria wrote:

 Bin non, mon pauvre, je le prends sur mes nuits et sur mes
 dimanchesEt sur ma famille aussi.
 J'adore essayer de dompter les ordinateurs. C'est juste par challenges
 intellectuels.
 Mais ce projet, je voudrais le présenter à plus grande échelle, et peut
 être fonder une association. Alors là, ce serait différent.
 mon mail professionnel est demaria@lbfogota.com
 .

 Le jeudi 16 avril 2015 07:43:11 UTC-5, Guirec Corbel a écrit :


 = Là tu me parles du controller. Or, je n'ai qu'un seul controller pour
 tous les exercices, c'est celui qui s'apelle exo_aleas_controller
 .html.erb qui hérite de ExoAleasController  ApplicationController
 Dans mon modèle, je n'ai pas de Exo.find(id).


 Je voulais dire que, dans le contrôleur, quand tu feras
 un ExoAlea.find(id) il te sortira une instance de la classe fille.

 Je ne voudrais pas abuser mais je fais souvent des vidéo conférence pour
 mon métier, si tu as un moment, c'est possible pour moi. Par HangOut, vive
 Google.


 On peut tester ça dimanche peut-être. Est-ce que tu fais ça à des fin
 professionnel. Si oui, on peut s'arranger pour que je te donne du support à
 plus long terme.

 Le 16 avril 2015 08:37, Philippe Demaria demaria@lfbogota.com a
 écrit :

 Ça commence à ressembler à quelque chose de bien. Je pense que tu
 bouger ceci :

 @a=rand(20)-rand(20)
 @b=rand(2..7)
 @c=rand(20)-rand(20)
 @d=rand(2..7)

 dans ton modèle.  = je viens de le faire. OK.


 Normalement, ta vue sera dans 
 app/views/ton_controlleur_au_pluriel/ton_action.html.erb.
 Pour ton contrôleur, ça dépend de ce que tu veux. D'après ce que je
 comprends tu à la possibilité de créer/modifier/supprimer des exercices.
 Pour moi, tu devrais créer un contrôleur pour ajouter une nouvelle réponse.
 Je crois que je créer un AnswersController. Tu vue sera donc dans
 app/views/answers/new.html.erb.

 = Mon dossier qui contient ma vue s'appelle exo_aleas. Ma vue est donc
 dans app/wiews/exos_aleas/show.html.erb. Jusque là, c'est bon.
 Une fois que l'exercice aléatoire est créé avec sa réponse, je ne le
 touche plus jamais !

 Au niveau de l'instanciation, c'est le Single Table Inheritance (STI),
 comme dans le lien que je t'ai fourni. Si tu un classe ExoDisc qui hérite
 de Exo, tu peux faire Exo.find(id) et il va te retourner une classe de type
 ExoDisc.
 = Là tu me parles du controller. Or, je n'ai qu'un seul controller pour
 tous les exercices, c'est celui qui s'apelle exo_aleas_controller.html.erb
 qui hérite de ExoAleasController  ApplicationController
 Dans mon modèle, je n'ai pas de Exo.find(id).

 Si tu veux simplifier ton controlleur, tu peux utiliser
 https://github.com/plataformatec/responders
 https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fplataformatec%2Fresponderssa=Dsntz=1usg=AFQjCNHNNun_c1fE27LF-1IghU5aS-XDrg
 et https://github.com/hashrocket/decent_exposure . = on va y aller
 doucement. Quand j'aurais tout bien compris je verrai. Je vais déjà migrer
 de Mongo vers PostGrei.

 J'aime bien aidé les gens quand c'est un problème que je connais bien.
 Je pense que la communauté Ruby est plus petite que celle de PHP mais très
 altruiste. Si tu étais proche, je serai probablement venu t'aider.
 Je ne voudrais pas abuser mais je fais souvent des vidéo conférence
 pour mon métier, si tu as un moment, c'est possible pour moi. Par HangOut,
 vive Google.

  --
 --
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance
 de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à
 l'adresse rails...@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse
 railsfrance...@googlegroups.com
 ---
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
 concernant, envoyez un e-mail à l'adresse railsfrance...@googlegroups.
 com.
 Pour obtenir davantage d'options, consultez la page
 https://groups.google.com/d/optout.


  --
 --
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de
 Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
 railsfrance@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse
 railsfrance-unsubscr...@googlegroups.com
 ---
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
 concernant, envoyez un e-mail à l'adresse
 railsfrance+unsubscr...@googlegroups.com.
 Pour obtenir davantage d'options, consultez la page
 

Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-16 Par sujet Guirec Corbel
Olivier, t'as raison. Désolé.

Le 16 avril 2015 08:53, Olivier El Mekki oelme...@gmail.com a écrit :

 Sans vouloir être rabbat joie, peut-être devriez-vous tout deux continuer
 cette discussion par mail privé, cela commence à devenir plus du pair
 programming qu'une discussion ouverte à mailer à des centaines de personnes
 ;)



 On Thursday, April 16, 2015 at 2:51:41 PM UTC+2, Philippe Demaria wrote:

 Bin non, mon pauvre, je le prends sur mes nuits et sur mes
 dimanchesEt sur ma famille aussi.
 J'adore essayer de dompter les ordinateurs. C'est juste par challenges
 intellectuels.
 Mais ce projet, je voudrais le présenter à plus grande échelle, et peut
 être fonder une association. Alors là, ce serait différent.
 mon mail professionnel est demaria@lbfogota.com

 .

 Le jeudi 16 avril 2015 07:43:11 UTC-5, Guirec Corbel a écrit :


 = Là tu me parles du controller. Or, je n'ai qu'un seul controller pour
 tous les exercices, c'est celui qui s'apelle exo_aleas_controller
 .html.erb qui hérite de ExoAleasController  ApplicationController
 Dans mon modèle, je n'ai pas de Exo.find(id).


 Je voulais dire que, dans le contrôleur, quand tu feras
 un ExoAlea.find(id) il te sortira une instance de la classe fille.

 Je ne voudrais pas abuser mais je fais souvent des vidéo conférence pour
 mon métier, si tu as un moment, c'est possible pour moi. Par HangOut, vive
 Google.


 On peut tester ça dimanche peut-être. Est-ce que tu fais ça à des fin
 professionnel. Si oui, on peut s'arranger pour que je te donne du support à
 plus long terme.

 Le 16 avril 2015 08:37, Philippe Demaria demaria@lfbogota.com a
 écrit :

 Ça commence à ressembler à quelque chose de bien. Je pense que tu
 bouger ceci :

 @a=rand(20)-rand(20)
 @b=rand(2..7)
 @c=rand(20)-rand(20)
 @d=rand(2..7)

 dans ton modèle.  = je viens de le faire. OK.


 Normalement, ta vue sera dans 
 app/views/ton_controlleur_au_pluriel/ton_action.html.erb.
 Pour ton contrôleur, ça dépend de ce que tu veux. D'après ce que je
 comprends tu à la possibilité de créer/modifier/supprimer des exercices.
 Pour moi, tu devrais créer un contrôleur pour ajouter une nouvelle réponse.
 Je crois que je créer un AnswersController. Tu vue sera donc dans
 app/views/answers/new.html.erb.

 = Mon dossier qui contient ma vue s'appelle exo_aleas. Ma vue est donc
 dans app/wiews/exos_aleas/show.html.erb. Jusque là, c'est bon.
 Une fois que l'exercice aléatoire est créé avec sa réponse, je ne le
 touche plus jamais !

 Au niveau de l'instanciation, c'est le Single Table Inheritance (STI),
 comme dans le lien que je t'ai fourni. Si tu un classe ExoDisc qui hérite
 de Exo, tu peux faire Exo.find(id) et il va te retourner une classe de type
 ExoDisc.
 = Là tu me parles du controller. Or, je n'ai qu'un seul controller pour
 tous les exercices, c'est celui qui s'apelle exo_aleas_controller.html.erb
 qui hérite de ExoAleasController  ApplicationController
 Dans mon modèle, je n'ai pas de Exo.find(id).

 Si tu veux simplifier ton controlleur, tu peux utiliser
 https://github.com/plataformatec/responders
 https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fplataformatec%2Fresponderssa=Dsntz=1usg=AFQjCNHNNun_c1fE27LF-1IghU5aS-XDrg
 et https://github.com/hashrocket/decent_exposure . = on va y aller
 doucement. Quand j'aurais tout bien compris je verrai. Je vais déjà migrer
 de Mongo vers PostGrei.

 J'aime bien aidé les gens quand c'est un problème que je connais bien.
 Je pense que la communauté Ruby est plus petite que celle de PHP mais très
 altruiste. Si tu étais proche, je serai probablement venu t'aider.
 Je ne voudrais pas abuser mais je fais souvent des vidéo conférence
 pour mon métier, si tu as un moment, c'est possible pour moi. Par HangOut,
 vive Google.

  --
 --
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance
 de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à
 l'adresse rails...@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse
 railsfrance...@googlegroups.com
 ---
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
 concernant, envoyez un e-mail à l'adresse railsfrance...@googlegroups.
 com.
 Pour obtenir davantage d'options, consultez la page
 https://groups.google.com/d/optout.


  --
 --
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de
 Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
 railsfrance@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse
 railsfrance-unsubscr...@googlegroups.com
 ---
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
 concernant, envoyez un e-mail à l'adresse
 railsfrance+unsubscr...@googlegroups.com.
 Pour obtenir davantage d'options, consultez la 

Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-16 Par sujet Philippe Demaria
Ça commence à ressembler à quelque chose de bien. Je pense que tu bouger 
ceci : 

@a=rand(20)-rand(20)
@b=rand(2..7)
@c=rand(20)-rand(20)
@d=rand(2..7) 

dans ton modèle.  = je viens de le faire. OK.


Normalement, ta vue sera dans 
app/views/ton_controlleur_au_pluriel/ton_action.html.erb. 
Pour ton contrôleur, ça dépend de ce que tu veux. D'après ce que je 
comprends tu à la possibilité de créer/modifier/supprimer des exercices. 
Pour moi, tu devrais créer un contrôleur pour ajouter une nouvelle réponse. 
Je crois que je créer un AnswersController. Tu vue sera donc dans 
app/views/answers/new.html.erb.

= Mon dossier qui contient ma vue s'appelle exo_aleas. Ma vue est donc 
dans app/wiews/exos_aleas/show.html.erb. Jusque là, c'est bon.
Une fois que l'exercice aléatoire est créé avec sa réponse, je ne le touche 
plus jamais !

Au niveau de l'instanciation, c'est le Single Table Inheritance (STI), 
comme dans le lien que je t'ai fourni. Si tu un classe ExoDisc qui hérite 
de Exo, tu peux faire Exo.find(id) et il va te retourner une classe de type 
ExoDisc.
= Là tu me parles du controller. Or, je n'ai qu'un seul controller pour 
tous les exercices, c'est celui qui s'apelle exo_aleas_controller.html.erb qui 
hérite de ExoAleasController  ApplicationController
Dans mon modèle, je n'ai pas de Exo.find(id).

Si tu veux simplifier ton controlleur, tu peux utiliser 
https://github.com/plataformatec/responders 
https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fplataformatec%2Fresponderssa=Dsntz=1usg=AFQjCNHNNun_c1fE27LF-1IghU5aS-XDrg
 
et https://github.com/hashrocket/decent_exposure . = on va y aller 
doucement. Quand j'aurais tout bien compris je verrai. Je vais déjà migrer 
de Mongo vers PostGrei.

J'aime bien aidé les gens quand c'est un problème que je connais bien. Je 
pense que la communauté Ruby est plus petite que celle de PHP mais très 
altruiste. Si tu étais proche, je serai probablement venu t'aider.
Je ne voudrais pas abuser mais je fais souvent des vidéo conférence pour 
mon métier, si tu as un moment, c'est possible pour moi. Par HangOut, vive 
Google. 

-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-16 Par sujet Guirec Corbel
 = Là tu me parles du controller. Or, je n'ai qu'un seul controller pour
 tous les exercices, c'est celui qui s'apelle exo_aleas_controller
 .html.erb qui hérite de ExoAleasController  ApplicationController
 Dans mon modèle, je n'ai pas de Exo.find(id).


Je voulais dire que, dans le contrôleur, quand tu feras un ExoAlea.find(id)
il te sortira une instance de la classe fille.

Je ne voudrais pas abuser mais je fais souvent des vidéo conférence pour
 mon métier, si tu as un moment, c'est possible pour moi. Par HangOut, vive
 Google.


On peut tester ça dimanche peut-être. Est-ce que tu fais ça à des fin
professionnel. Si oui, on peut s'arranger pour que je te donne du support à
plus long terme.

Le 16 avril 2015 08:37, Philippe Demaria demaria.phili...@lfbogota.com a
écrit :

 Ça commence à ressembler à quelque chose de bien. Je pense que tu bouger
 ceci :

 @a=rand(20)-rand(20)
 @b=rand(2..7)
 @c=rand(20)-rand(20)
 @d=rand(2..7)

 dans ton modèle.  = je viens de le faire. OK.


 Normalement, ta vue sera dans 
 app/views/ton_controlleur_au_pluriel/ton_action.html.erb.
 Pour ton contrôleur, ça dépend de ce que tu veux. D'après ce que je
 comprends tu à la possibilité de créer/modifier/supprimer des exercices.
 Pour moi, tu devrais créer un contrôleur pour ajouter une nouvelle réponse.
 Je crois que je créer un AnswersController. Tu vue sera donc dans
 app/views/answers/new.html.erb.

 = Mon dossier qui contient ma vue s'appelle exo_aleas. Ma vue est donc
 dans app/wiews/exos_aleas/show.html.erb. Jusque là, c'est bon.
 Une fois que l'exercice aléatoire est créé avec sa réponse, je ne le
 touche plus jamais !

 Au niveau de l'instanciation, c'est le Single Table Inheritance (STI),
 comme dans le lien que je t'ai fourni. Si tu un classe ExoDisc qui hérite
 de Exo, tu peux faire Exo.find(id) et il va te retourner une classe de type
 ExoDisc.
 = Là tu me parles du controller. Or, je n'ai qu'un seul controller pour
 tous les exercices, c'est celui qui s'apelle exo_aleas_controller.html.erb
 qui hérite de ExoAleasController  ApplicationController
 Dans mon modèle, je n'ai pas de Exo.find(id).

 Si tu veux simplifier ton controlleur, tu peux utiliser
 https://github.com/plataformatec/responders
 https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fplataformatec%2Fresponderssa=Dsntz=1usg=AFQjCNHNNun_c1fE27LF-1IghU5aS-XDrg
 et https://github.com/hashrocket/decent_exposure . = on va y aller
 doucement. Quand j'aurais tout bien compris je verrai. Je vais déjà migrer
 de Mongo vers PostGrei.

 J'aime bien aidé les gens quand c'est un problème que je connais bien. Je
 pense que la communauté Ruby est plus petite que celle de PHP mais très
 altruiste. Si tu étais proche, je serai probablement venu t'aider.
 Je ne voudrais pas abuser mais je fais souvent des vidéo conférence pour
 mon métier, si tu as un moment, c'est possible pour moi. Par HangOut, vive
 Google.

  --
 --
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de
 Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
 railsfrance@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse
 railsfrance-unsubscr...@googlegroups.com
 ---
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
 concernant, envoyez un e-mail à l'adresse
 railsfrance+unsubscr...@googlegroups.com.
 Pour obtenir davantage d'options, consultez la page
 https://groups.google.com/d/optout.


-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-16 Par sujet Philippe Demaria
Oui bien sûr.
C'est pour ça que j'ai mis mon mail pro.

Le jeudi 16 avril 2015 07:53:46 UTC-5, Olivier El Mekki a écrit :

 Sans vouloir être rabbat joie, peut-être devriez-vous tout deux continuer 
 cette discussion par mail privé, cela commence à devenir plus du pair 
 programming qu'une discussion ouverte à mailer à des centaines de personnes 
 ;)



 On Thursday, April 16, 2015 at 2:51:41 PM UTC+2, Philippe Demaria wrote:

 Bin non, mon pauvre, je le prends sur mes nuits et sur mes 
 dimanchesEt sur ma famille aussi.
 J'adore essayer de dompter les ordinateurs. C'est juste par challenges 
 intellectuels.
 Mais ce projet, je voudrais le présenter à plus grande échelle, et peut 
 être fonder une association. Alors là, ce serait différent.
 mon mail professionnel est demaria@lbfogota.com
 .

 Le jeudi 16 avril 2015 07:43:11 UTC-5, Guirec Corbel a écrit :


 = Là tu me parles du controller. Or, je n'ai qu'un seul controller pour 
 tous les exercices, c'est celui qui s'apelle exo_aleas_controller
 .html.erb qui hérite de ExoAleasController  ApplicationController
 Dans mon modèle, je n'ai pas de Exo.find(id).


 Je voulais dire que, dans le contrôleur, quand tu feras 
 un ExoAlea.find(id) il te sortira une instance de la classe fille.

 Je ne voudrais pas abuser mais je fais souvent des vidéo conférence pour 
 mon métier, si tu as un moment, c'est possible pour moi. Par HangOut, vive 
 Google.


 On peut tester ça dimanche peut-être. Est-ce que tu fais ça à des fin 
 professionnel. Si oui, on peut s'arranger pour que je te donne du support à 
 plus long terme.

 Le 16 avril 2015 08:37, Philippe Demaria demaria@lfbogota.com a 
 écrit :

 Ça commence à ressembler à quelque chose de bien. Je pense que tu 
 bouger ceci : 

 @a=rand(20)-rand(20)
 @b=rand(2..7)
 @c=rand(20)-rand(20)
 @d=rand(2..7) 

 dans ton modèle.  = je viens de le faire. OK.


 Normalement, ta vue sera dans 
 app/views/ton_controlleur_au_pluriel/ton_action.html.erb. 
 Pour ton contrôleur, ça dépend de ce que tu veux. D'après ce que je 
 comprends tu à la possibilité de créer/modifier/supprimer des exercices. 
 Pour moi, tu devrais créer un contrôleur pour ajouter une nouvelle 
 réponse. 
 Je crois que je créer un AnswersController. Tu vue sera donc dans 
 app/views/answers/new.html.erb.

 = Mon dossier qui contient ma vue s'appelle exo_aleas. Ma vue est donc 
 dans app/wiews/exos_aleas/show.html.erb. Jusque là, c'est bon.
 Une fois que l'exercice aléatoire est créé avec sa réponse, je ne le 
 touche plus jamais !

 Au niveau de l'instanciation, c'est le Single Table Inheritance (STI), 
 comme dans le lien que je t'ai fourni. Si tu un classe ExoDisc qui hérite 
 de Exo, tu peux faire Exo.find(id) et il va te retourner une classe de 
 type 
 ExoDisc.
 = Là tu me parles du controller. Or, je n'ai qu'un seul controller pour 
 tous les exercices, c'est celui qui s'apelle exo_aleas_controller.html.erb 
 qui hérite de ExoAleasController  ApplicationController
 Dans mon modèle, je n'ai pas de Exo.find(id).

 Si tu veux simplifier ton controlleur, tu peux utiliser 
 https://github.com/plataformatec/responders 
 https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fplataformatec%2Fresponderssa=Dsntz=1usg=AFQjCNHNNun_c1fE27LF-1IghU5aS-XDrg
  
 et https://github.com/hashrocket/decent_exposure . = on va y aller 
 doucement. Quand j'aurais tout bien compris je verrai. Je vais déjà migrer 
 de Mongo vers PostGrei.

 J'aime bien aidé les gens quand c'est un problème que je connais bien. 
 Je pense que la communauté Ruby est plus petite que celle de PHP mais très 
 altruiste. Si tu étais proche, je serai probablement venu t'aider.
 Je ne voudrais pas abuser mais je fais souvent des vidéo conférence 
 pour mon métier, si tu as un moment, c'est possible pour moi. Par HangOut, 
 vive Google. 

  -- 
 -- 
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance 
 de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
 l'adresse rails...@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com
 --- 
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
 concernant, envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com.
 Pour obtenir davantage d'options, consultez la page 
 https://groups.google.com/d/optout.




-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse 

Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-16 Par sujet Philippe Demaria
Tu fais déjà énormémént

Le jeudi 16 avril 2015 07:19:14 UTC-5, Guirec Corbel a écrit :

 Ça commence à ressembler à quelque chose de bien. Je pense que tu bouger 
 ceci : 

 @a=rand(20)-rand(20)
 @b=rand(2..7)
 @c=rand(20)-rand(20)
 @d=rand(2..7) 

 dans ton modèle.

 Normalement, ta vue sera dans 
 app/views/ton_controlleur_au_pluriel/ton_action.html.erb. Pour ton 
 contrôleur, ça dépend de ce que tu veux. D'après ce que je comprends tu à 
 la possibilité de créer/modifier/supprimer des exercices. Pour moi, tu 
 devrais créer un contrôleur pour ajouter une nouvelle réponse. Je crois que 
 je créer un AnswersController. Tu vue sera donc dans 
 app/views/answers/new.html.erb.

 Au niveau de l'instanciation, c'est le Single Table Inheritance (STI), 
 comme dans le lien que je t'ai fourni. Si tu un classe ExoDisc qui hérite 
 de Exo, tu peux faire Exo.find(id) et il va te retourner une classe de type 
 ExoDisc.

 Si tu veux simplifier ton controlleur, tu peux utiliser 
 https://github.com/plataformatec/responders et 
 https://github.com/hashrocket/decent_exposure .

 J'aime bien aidé les gens quand c'est un problème que je connais bien. Je 
 pense que la communauté Ruby est plus petite que celle de PHP mais très 
 altruiste. Si tu étais proche, je serai probablement venu t'aider.

 Le 16 avril 2015 08:06, Philippe Demaria demaria@lfbogota.com 
 javascript: a écrit :

 Mince parti trop vite.


 C'est juste parfait... J'ai donc écris le code ci dessous.

 *Model :*
 je crée un model générique :

 class ExoAlea
   include Mongoid::Document
   include Mongoid::Timestamps

   field :title, type: String
   field :text, type: String
   field :help, type: String
   field :time, type: Integer
   field :reponseStudent, type: Integer
   field :a, type: Integer
   field :b, type: Integer
   field :c, type: Integer
   field :d, type: Integer

   validates :title, presence: true
   validates :text, presence: true
   validates :time, presence: true
   validates :help, presence: true
   validates :reponseStudent, presence: true, on: :validation

   validate :valid_answer, on: :update
  
   def valid_answer
 errors.add(:anwser, Réponse fausse) unless result_valid?
   end

   def result_valid?
 #  une validation par défaut
   end 

   def enunciated
#  un enoncé par défaut
   end
 end

 puis un model par exercice spécifique :
 class ExoDiscriminant  ExoAlea
   def result_valid?
  # Validation spécifique
   end

   def enunciated
 # Énoncé spéfique
   end
 end


 *Views*
 Dans ma vue show , j'utilise la méthode @exoAlea.enunciated et j'enlève 
 le helper. 
 J'aurai donc une seule vue pour tous mes 1000 exercices. C'est top ! 


 *Question 1 : Ma vue show.html.erb doit être dans le dossier app/exoAlea 
 ? ou dans le dossier app/Exo_discriminant ? ou dans layout ?*

 *Controller *

 Comment se nomme ce controller ? exo_alea_controller ou 
 exo_discriminant_controller ? 

 Dans le contrôleur, te me dis tu n'a juste a changer la classe 
 instanciée.
 Si je comprends bien c'est le controller qui se nomme exo_alea_controller.
 Dans ce controller, comment je change la classe instanciée ? je peux la 
 nommée @exoAlea.enunciated ?

 *Question 2 : Est ce que le controller resemble donc à ça ?*

 class ExoAleaController  ApplicationController
   before_action :set_exo_alea, only: [:show, :edit, :update, :destroy, 
 :validation]

   # GET /exo_alea 
   # GET /exo_alea.json
   def index
 @exo_alea= ExoAlea.all
   end

   # GET /exo_alea/1
   # GET /exo_alea/1.json
   def show
 @exo_alea= ExoAlea.find(params[:id])
 @a=rand(20)-rand(20)
 @b=rand(2..7)
 @c=rand(20)-rand(20)
 @d=rand(2..7) 
   end

   # GET /exo_alea/new
   def new
 @exo_alea= ExoAlea.new
   end

   # GET /exo_alea/1/edit
   def edit
   end

   # POST /exo_alea  
   # POST /exo_alea.json
   def create
 @exo_alea= ExoAlea.new(exo_alea_params)

 respond_to do |format|
   if @exo_alea.save
 format.html { redirect_to @exo_alea, notice: 'Exo sumfraction 
 was successfully created.' }
 format.json { render :show, status: :created, location: 
 @exo_sumfraction }
   else
 format.html { render :new }
 format.json { render json: @exo_alea.errors, status: 
 :unprocessable_entity }
   end
 end
   end

   # PATCH/PUT /exo_sumfractions/1
   # PATCH/PUT /exo_sumfractions/1.json
   def update
 respond_to do |format|
   if @exo_alea.update(exo_alea_params)
 format.html { redirect_to @exo_alea, notice: 'Exo alea was 
 successfully updated.' }
 format.json { render :show, status: :ok, location: @exo_alea}
   else
 format.html { render :edit }
 format.json { render json: @exo_alea.errors, status: 
 :unprocessable_entity }
   end
 end
   end

   # DELETE /exo_alea/1
   # DELETE /exo_alea/1.json
   def destroy
 @exo_alea.destroy
 respond_to do |format|
   format.html { redirect_to exo_alea_url, notice: 'Exo 

Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-16 Par sujet Guirec Corbel
Je pense qu'il faudrait que tu utilises l'action new pour afficher le
questionnaire et que tu fasses la validation dans create. Il faut essayé de
correspondre à une interface CRUD le plus possible. Si ces actions sont
déjà prises, je pense que tu devrais créer un nouveau contrôleur.

Le 15 avril 2015 21:11, Philippe Demaria demaria.phili...@lfbogota.com a
écrit :

 Dans ma vue show, j'ai
 %= simple_form_for @exo_alea, :url = {:controller = exo_aleas,
 :action = validation},  defaults: { label: false } do |f| %

 Dans le cas utilisé danbs mon précédent post,
 je dois changer :url = {:controller = exo_aleas, :action =
 validation}. Je mets quoi à la place ?

 Merci.




 Le mercredi 15 avril 2015 19:05:26 UTC-5, Philippe Demaria a écrit :

 D'après ce que je comprends :

 Considérons que je veux créer 1000 exercices aléatoires

 *... eh oui !Model :*
 je crée un model générique :

 class ExoAlea
   include Mongoid::Document
   include Mongoid::Timestamps

   field :title, type: String
   field :text, type: String
   field :help, type: String
   field :time, type: Integer
   field :reponseStudent, type: Integer
   field :a, type: Integer
   field :b, type: Integer
   field :c, type: Integer
   field :d, type: Integer

   validates :title, presence: true
   validates :text, presence: true
   validates :time, presence: true
   validates :help, presence: true
   validates :reponseStudent, presence: true, on: :validation

   validate :valid_answer, on: :update

   def valid_answer
 errors.add(:anwser, Réponse fausse) unless result_valid?
   end

   def result_valid?
 #  une validation par défaut
   end

   def enunciated
#  un enoncé par défaut
   end
 end

 puis un model par exercice spécifique :
 class ExoDiscriminant  ExoAlea
   def result_valid?
  # Validation spécifique
   end

   def enunciated
 # Énoncé spéfique
   end
 end

 *Question 1 : Donc si j'ai 1000 exos, j'aurais 1000 models specifiques ?*

 *Views*
 Dans ma vue show , j'utilise la méthode @exoAlea.enunciated et j'enlève
 le helper.
 J'aurai donc une seule vue pour tous mes 1000 exercices. C'est top !


 *Question 2 : Ma vue show.html.erb doit être dans le dossier app/exoAlea
 ? ou dans le dossier app/Exo_discriminant ? ou dans layout ?*

 *Controller *

 Comment se nomme ce controller ? exo_alea_controller ou
 exo_discriminant_controller ?

 Dans le contrôleur, te me dis tu n'a juste a changer la classe
 instanciée.
 Si je comprends bien c'est le controller qui se nomme exo_alea_controller.
 Dans ce controller, comment je change la classe instanciée ? je peux la
 nommée @exoAlea.enunciated ?

 *Question 3 : J'ai un unique controller ou 1000 controllers ?*

 *Question 4 : Est ce que le controller resemble donc à ça ?*

 class ExoAleaController  ApplicationController
   before_action :set_exo_alea, only: [:show, :edit, :update, :destroy,
 :validation]

   # GET /exo_alea
   # GET /exo_alea.json
   def index
 @exo_alea= ExoAlea.all
   end

   # GET /exo_alea/1
   # GET /exo_alea/1.json
   def show
 @exo_alea= ExoAlea.find(params[:id])
 @a=rand(20)-rand(20)
 @b=rand(2..7)
 @c=rand(20)-rand(20)
 @d=rand(2..7)
   end

   # GET /exo_alea/new
   def new
 @exo_alea= ExoAlea.new
   end

   # GET /exo_alea/1/edit
   def edit
   end

   # POST /exo_alea
   # POST /exo_alea.json
   def create
 @exo_alea= ExoAlea.new(exo_alea_params)

 respond_to do |format|
   if @exo_alea.save
 format.html { redirect_to @exo_alea, notice: 'Exo sumfraction
 was successfully created.' }
 format.json { render :show, status: :created, location:
 @exo_sumfraction }
   else
 format.html { render :new }
 format.json { render json: @exo_alea.errors, status:
 :unprocessable_entity }
   end
 end
   end

   # PATCH/PUT /exo_sumfractions/1
   # PATCH/PUT /exo_sumfractions/1.json
   def update
 respond_to do |format|
   if @exo_alea.update(exo_alea_params)
 format.html { redirect_to @exo_alea, notice: 'Exo alea was
 successfully updated.' }
 format.json { render :show, status: :ok, location: @exo_alea}
   else
 format.html { render :edit }
 format.json { render json: @exo_alea.errors, status:
 :unprocessable_entity }
   end
 end
   end

   # DELETE /exo_alea/1
   # DELETE /exo_alea/1.json
   def destroy
 @exo_sumfraction.destroy
 respond_to do |format|
   format.html { redirect_to exo_alea_url, notice: 'Exo alea was
 successfully destroyed.' }
   format.json { head :no_content }
 end
   end

 private

 def set_exo_alea
   @exo_sumfraction = ExoSumfraction.find(params[:id])
 end

 def exo_alea_params
   params.require(:exo_alea).permit(:title, :text, :help, :string,
 :time)
 end

 end

 Bon quand tu auras répondu à ces 4 questions, j'espère que tu m'auras
 donné la solution.

 Merci infiniment.









  --
 --
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de
 

Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-16 Par sujet Guirec Corbel
1 controlleur, une vue, 1 modèle de base et des modèles enfants pour la
logique spécifique de chaque exercice.

Le 16 avril 2015 07:56, Philippe Demaria demaria.phili...@lfbogota.com a
écrit :

 la question que je me pose est :
 pour 1000 exos, combien de controlle, de model et de vues ?


 Le jeudi 16 avril 2015 06:49:47 UTC-5, Guirec Corbel a écrit :

 Je pense qu'il faudrait que tu utilises l'action new pour afficher le
 questionnaire et que tu fasses la validation dans create. Il faut essayé de
 correspondre à une interface CRUD le plus possible. Si ces actions sont
 déjà prises, je pense que tu devrais créer un nouveau contrôleur.

 Le 15 avril 2015 21:11, Philippe Demaria demaria@lfbogota.com a
 écrit :

 Dans ma vue show, j'ai
 %= simple_form_for @exo_alea, :url = {:controller = exo_aleas,
 :action = validation},  defaults: { label: false } do |f| %

 Dans le cas utilisé danbs mon précédent post,
 je dois changer :url = {:controller = exo_aleas, :action =
 validation}. Je mets quoi à la place ?

 Merci.




 Le mercredi 15 avril 2015 19:05:26 UTC-5, Philippe Demaria a écrit :

 D'après ce que je comprends :

 Considérons que je veux créer 1000 exercices aléatoires

 *... eh oui !Model :*
 je crée un model générique :

 class ExoAlea
   include Mongoid::Document
   include Mongoid::Timestamps

   field :title, type: String
   field :text, type: String
   field :help, type: String
   field :time, type: Integer
   field :reponseStudent, type: Integer
   field :a, type: Integer
   field :b, type: Integer
   field :c, type: Integer
   field :d, type: Integer

   validates :title, presence: true
   validates :text, presence: true
   validates :time, presence: true
   validates :help, presence: true
   validates :reponseStudent, presence: true, on: :validation

   validate :valid_answer, on: :update

   def valid_answer
 errors.add(:anwser, Réponse fausse) unless result_valid?
   end

   def result_valid?
 #  une validation par défaut
   end

   def enunciated
#  un enoncé par défaut
   end
 end

 puis un model par exercice spécifique :
 class ExoDiscriminant  ExoAlea
   def result_valid?
  # Validation spécifique
   end

   def enunciated
 # Énoncé spéfique
   end
 end

 *Question 1 : Donc si j'ai 1000 exos, j'aurais 1000 models specifiques
 ?*

 *Views*
 Dans ma vue show , j'utilise la méthode @exoAlea.enunciated et j'enlève
 le helper.
 J'aurai donc une seule vue pour tous mes 1000 exercices. C'est top !


 *Question 2 : Ma vue show.html.erb doit être dans le dossier
 app/exoAlea ? ou dans le dossier app/Exo_discriminant ? ou dans layout ?*

 *Controller *

 Comment se nomme ce controller ? exo_alea_controller ou
 exo_discriminant_controller ?

 Dans le contrôleur, te me dis tu n'a juste a changer la classe
 instanciée.
 Si je comprends bien c'est le controller qui se nomme
 exo_alea_controller.
 Dans ce controller, comment je change la classe instanciée ? je peux la
 nommée @exoAlea.enunciated ?

 *Question 3 : J'ai un unique controller ou 1000 controllers ?*

 *Question 4 : Est ce que le controller resemble donc à ça ?*

 class ExoAleaController  ApplicationController
   before_action :set_exo_alea, only: [:show, :edit, :update, :destroy,
 :validation]

   # GET /exo_alea
   # GET /exo_alea.json
   def index
 @exo_alea= ExoAlea.all
   end

   # GET /exo_alea/1
   # GET /exo_alea/1.json
   def show
 @exo_alea= ExoAlea.find(params[:id])
 @a=rand(20)-rand(20)
 @b=rand(2..7)
 @c=rand(20)-rand(20)
 @d=rand(2..7)
   end

   # GET /exo_alea/new
   def new
 @exo_alea= ExoAlea.new
   end

   # GET /exo_alea/1/edit
   def edit
   end

   # POST /exo_alea
   # POST /exo_alea.json
   def create
 @exo_alea= ExoAlea.new(exo_alea_params)

 respond_to do |format|
   if @exo_alea.save
 format.html { redirect_to @exo_alea, notice: 'Exo sumfraction
 was successfully created.' }
 format.json { render :show, status: :created, location:
 @exo_sumfraction }
   else
 format.html { render :new }
 format.json { render json: @exo_alea.errors, status:
 :unprocessable_entity }
   end
 end
   end

   # PATCH/PUT /exo_sumfractions/1
   # PATCH/PUT /exo_sumfractions/1.json
   def update
 respond_to do |format|
   if @exo_alea.update(exo_alea_params)
 format.html { redirect_to @exo_alea, notice: 'Exo alea was
 successfully updated.' }
 format.json { render :show, status: :ok, location: @exo_alea}
   else
 format.html { render :edit }
 format.json { render json: @exo_alea.errors, status:
 :unprocessable_entity }
   end
 end
   end

   # DELETE /exo_alea/1
   # DELETE /exo_alea/1.json
   def destroy
 @exo_sumfraction.destroy
 respond_to do |format|
   format.html { redirect_to exo_alea_url, notice: 'Exo alea was
 successfully destroyed.' }
   format.json { head :no_content }
 end
   end

 private

 def set_exo_alea
   @exo_sumfraction = 

Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-16 Par sujet Guirec Corbel
Ça commence à ressembler à quelque chose de bien. Je pense que tu bouger
ceci :

@a=rand(20)-rand(20)
@b=rand(2..7)
@c=rand(20)-rand(20)
@d=rand(2..7)

dans ton modèle.

Normalement, ta vue sera dans
app/views/ton_controlleur_au_pluriel/ton_action.html.erb. Pour ton
contrôleur, ça dépend de ce que tu veux. D'après ce que je comprends tu à
la possibilité de créer/modifier/supprimer des exercices. Pour moi, tu
devrais créer un contrôleur pour ajouter une nouvelle réponse. Je crois que
je créer un AnswersController. Tu vue sera donc dans
app/views/answers/new.html.erb.

Au niveau de l'instanciation, c'est le Single Table Inheritance (STI),
comme dans le lien que je t'ai fourni. Si tu un classe ExoDisc qui hérite
de Exo, tu peux faire Exo.find(id) et il va te retourner une classe de type
ExoDisc.

Si tu veux simplifier ton controlleur, tu peux utiliser
https://github.com/plataformatec/responders et
https://github.com/hashrocket/decent_exposure .

J'aime bien aidé les gens quand c'est un problème que je connais bien. Je
pense que la communauté Ruby est plus petite que celle de PHP mais très
altruiste. Si tu étais proche, je serai probablement venu t'aider.

Le 16 avril 2015 08:06, Philippe Demaria demaria.phili...@lfbogota.com a
écrit :

 Mince parti trop vite.


 C'est juste parfait... J'ai donc écris le code ci dessous.

 *Model :*
 je crée un model générique :

 class ExoAlea
   include Mongoid::Document
   include Mongoid::Timestamps

   field :title, type: String
   field :text, type: String
   field :help, type: String
   field :time, type: Integer
   field :reponseStudent, type: Integer
   field :a, type: Integer
   field :b, type: Integer
   field :c, type: Integer
   field :d, type: Integer

   validates :title, presence: true
   validates :text, presence: true
   validates :time, presence: true
   validates :help, presence: true
   validates :reponseStudent, presence: true, on: :validation

   validate :valid_answer, on: :update

   def valid_answer
 errors.add(:anwser, Réponse fausse) unless result_valid?
   end

   def result_valid?
 #  une validation par défaut
   end

   def enunciated
#  un enoncé par défaut
   end
 end

 puis un model par exercice spécifique :
 class ExoDiscriminant  ExoAlea
   def result_valid?
  # Validation spécifique
   end

   def enunciated
 # Énoncé spéfique
   end
 end


 *Views*
 Dans ma vue show , j'utilise la méthode @exoAlea.enunciated et j'enlève le
 helper.
 J'aurai donc une seule vue pour tous mes 1000 exercices. C'est top !


 *Question 1 : Ma vue show.html.erb doit être dans le dossier app/exoAlea ?
 ou dans le dossier app/Exo_discriminant ? ou dans layout ?*

 *Controller *

 Comment se nomme ce controller ? exo_alea_controller ou
 exo_discriminant_controller ?

 Dans le contrôleur, te me dis tu n'a juste a changer la classe
 instanciée.
 Si je comprends bien c'est le controller qui se nomme exo_alea_controller.
 Dans ce controller, comment je change la classe instanciée ? je peux la
 nommée @exoAlea.enunciated ?

 *Question 2 : Est ce que le controller resemble donc à ça ?*

 class ExoAleaController  ApplicationController
   before_action :set_exo_alea, only: [:show, :edit, :update, :destroy,
 :validation]

   # GET /exo_alea
   # GET /exo_alea.json
   def index
 @exo_alea= ExoAlea.all
   end

   # GET /exo_alea/1
   # GET /exo_alea/1.json
   def show
 @exo_alea= ExoAlea.find(params[:id])
 @a=rand(20)-rand(20)
 @b=rand(2..7)
 @c=rand(20)-rand(20)
 @d=rand(2..7)
   end

   # GET /exo_alea/new
   def new
 @exo_alea= ExoAlea.new
   end

   # GET /exo_alea/1/edit
   def edit
   end

   # POST /exo_alea
   # POST /exo_alea.json
   def create
 @exo_alea= ExoAlea.new(exo_alea_params)

 respond_to do |format|
   if @exo_alea.save
 format.html { redirect_to @exo_alea, notice: 'Exo sumfraction was
 successfully created.' }
 format.json { render :show, status: :created, location:
 @exo_sumfraction }
   else
 format.html { render :new }
 format.json { render json: @exo_alea.errors, status:
 :unprocessable_entity }
   end
 end
   end

   # PATCH/PUT /exo_sumfractions/1
   # PATCH/PUT /exo_sumfractions/1.json
   def update
 respond_to do |format|
   if @exo_alea.update(exo_alea_params)
 format.html { redirect_to @exo_alea, notice: 'Exo alea was
 successfully updated.' }
 format.json { render :show, status: :ok, location: @exo_alea}
   else
 format.html { render :edit }
 format.json { render json: @exo_alea.errors, status:
 :unprocessable_entity }
   end
 end
   end

   # DELETE /exo_alea/1
   # DELETE /exo_alea/1.json
   def destroy
 @exo_alea.destroy
 respond_to do |format|
   format.html { redirect_to exo_alea_url, notice: 'Exo alea was
 successfully destroyed.' }
   format.json { head :no_content }
 end
   end

 private

 def set_exo_alea
   @exo_alea= 

Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-16 Par sujet Philippe Demaria
Bin non, mon pauvre, je le prends sur mes nuits et sur mes dimanchesEt 
sur ma famille aussi.
J'adore essayer de dompter les ordinateurs. C'est juste par challenges 
intellectuels.
Mais ce projet, je voudrais le présenter à plus grande échelle, et peut 
être fonder une association. Alors là, ce serait différent.
mon mail professionnel est demaria.phili...@lbfogota.com
.

Le jeudi 16 avril 2015 07:43:11 UTC-5, Guirec Corbel a écrit :


 = Là tu me parles du controller. Or, je n'ai qu'un seul controller pour 
 tous les exercices, c'est celui qui s'apelle exo_aleas_controller
 .html.erb qui hérite de ExoAleasController  ApplicationController
 Dans mon modèle, je n'ai pas de Exo.find(id).


 Je voulais dire que, dans le contrôleur, quand tu feras 
 un ExoAlea.find(id) il te sortira une instance de la classe fille.

 Je ne voudrais pas abuser mais je fais souvent des vidéo conférence pour 
 mon métier, si tu as un moment, c'est possible pour moi. Par HangOut, vive 
 Google.


 On peut tester ça dimanche peut-être. Est-ce que tu fais ça à des fin 
 professionnel. Si oui, on peut s'arranger pour que je te donne du support à 
 plus long terme.

 Le 16 avril 2015 08:37, Philippe Demaria demaria@lfbogota.com 
 javascript: a écrit :

 Ça commence à ressembler à quelque chose de bien. Je pense que tu bouger 
 ceci : 

 @a=rand(20)-rand(20)
 @b=rand(2..7)
 @c=rand(20)-rand(20)
 @d=rand(2..7) 

 dans ton modèle.  = je viens de le faire. OK.


 Normalement, ta vue sera dans 
 app/views/ton_controlleur_au_pluriel/ton_action.html.erb. 
 Pour ton contrôleur, ça dépend de ce que tu veux. D'après ce que je 
 comprends tu à la possibilité de créer/modifier/supprimer des exercices. 
 Pour moi, tu devrais créer un contrôleur pour ajouter une nouvelle réponse. 
 Je crois que je créer un AnswersController. Tu vue sera donc dans 
 app/views/answers/new.html.erb.

 = Mon dossier qui contient ma vue s'appelle exo_aleas. Ma vue est donc 
 dans app/wiews/exos_aleas/show.html.erb. Jusque là, c'est bon.
 Une fois que l'exercice aléatoire est créé avec sa réponse, je ne le 
 touche plus jamais !

 Au niveau de l'instanciation, c'est le Single Table Inheritance (STI), 
 comme dans le lien que je t'ai fourni. Si tu un classe ExoDisc qui hérite 
 de Exo, tu peux faire Exo.find(id) et il va te retourner une classe de type 
 ExoDisc.
 = Là tu me parles du controller. Or, je n'ai qu'un seul controller pour 
 tous les exercices, c'est celui qui s'apelle exo_aleas_controller.html.erb 
 qui hérite de ExoAleasController  ApplicationController
 Dans mon modèle, je n'ai pas de Exo.find(id).

 Si tu veux simplifier ton controlleur, tu peux utiliser 
 https://github.com/plataformatec/responders 
 https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fplataformatec%2Fresponderssa=Dsntz=1usg=AFQjCNHNNun_c1fE27LF-1IghU5aS-XDrg
  
 et https://github.com/hashrocket/decent_exposure . = on va y aller 
 doucement. Quand j'aurais tout bien compris je verrai. Je vais déjà migrer 
 de Mongo vers PostGrei.

 J'aime bien aidé les gens quand c'est un problème que je connais bien. Je 
 pense que la communauté Ruby est plus petite que celle de PHP mais très 
 altruiste. Si tu étais proche, je serai probablement venu t'aider.
 Je ne voudrais pas abuser mais je fais souvent des vidéo conférence pour 
 mon métier, si tu as un moment, c'est possible pour moi. Par HangOut, vive 
 Google. 

  -- 
 -- 
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance 
 de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
 rails...@googlegroups.com javascript:
 Pour résilier votre abonnement envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com javascript:
 --- 
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
 concernant, envoyez un e-mail à l'adresse railsfrance...@googlegroups.com 
 javascript:.
 Pour obtenir davantage d'options, consultez la page 
 https://groups.google.com/d/optout.




-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-16 Par sujet Philippe Demaria
Je le redonne : demaria.phili...@lfbogota.com

Le jeudi 16 avril 2015 07:58:39 UTC-5, Philippe Demaria a écrit :

 Oui bien sûr.
 C'est pour ça que j'ai mis mon mail pro.

 Le jeudi 16 avril 2015 07:53:46 UTC-5, Olivier El Mekki a écrit :

 Sans vouloir être rabbat joie, peut-être devriez-vous tout deux continuer 
 cette discussion par mail privé, cela commence à devenir plus du pair 
 programming qu'une discussion ouverte à mailer à des centaines de personnes 
 ;)



 On Thursday, April 16, 2015 at 2:51:41 PM UTC+2, Philippe Demaria wrote:

 Bin non, mon pauvre, je le prends sur mes nuits et sur mes 
 dimanchesEt sur ma famille aussi.
 J'adore essayer de dompter les ordinateurs. C'est juste par challenges 
 intellectuels.
 Mais ce projet, je voudrais le présenter à plus grande échelle, et peut 
 être fonder une association. Alors là, ce serait différent.
 mon mail professionnel est demaria@lbfogota.com
 .

 Le jeudi 16 avril 2015 07:43:11 UTC-5, Guirec Corbel a écrit :


 = Là tu me parles du controller. Or, je n'ai qu'un seul controller pour 
 tous les exercices, c'est celui qui s'apelle exo_aleas_controller
 .html.erb qui hérite de ExoAleasController  ApplicationController
 Dans mon modèle, je n'ai pas de Exo.find(id).


 Je voulais dire que, dans le contrôleur, quand tu feras 
 un ExoAlea.find(id) il te sortira une instance de la classe fille.

 Je ne voudrais pas abuser mais je fais souvent des vidéo conférence 
 pour mon métier, si tu as un moment, c'est possible pour moi. Par 
 HangOut, 
 vive Google.


 On peut tester ça dimanche peut-être. Est-ce que tu fais ça à des fin 
 professionnel. Si oui, on peut s'arranger pour que je te donne du support 
 à 
 plus long terme.

 Le 16 avril 2015 08:37, Philippe Demaria demaria@lfbogota.com a 
 écrit :

 Ça commence à ressembler à quelque chose de bien. Je pense que tu 
 bouger ceci : 

 @a=rand(20)-rand(20)
 @b=rand(2..7)
 @c=rand(20)-rand(20)
 @d=rand(2..7) 

 dans ton modèle.  = je viens de le faire. OK.


 Normalement, ta vue sera dans 
 app/views/ton_controlleur_au_pluriel/ton_action.html.erb. 
 Pour ton contrôleur, ça dépend de ce que tu veux. D'après ce que je 
 comprends tu à la possibilité de créer/modifier/supprimer des exercices. 
 Pour moi, tu devrais créer un contrôleur pour ajouter une nouvelle 
 réponse. 
 Je crois que je créer un AnswersController. Tu vue sera donc dans 
 app/views/answers/new.html.erb.

 = Mon dossier qui contient ma vue s'appelle exo_aleas. Ma vue est 
 donc dans app/wiews/exos_aleas/show.html.erb. Jusque là, c'est bon.
 Une fois que l'exercice aléatoire est créé avec sa réponse, je ne le 
 touche plus jamais !

 Au niveau de l'instanciation, c'est le Single Table Inheritance (STI), 
 comme dans le lien que je t'ai fourni. Si tu un classe ExoDisc qui hérite 
 de Exo, tu peux faire Exo.find(id) et il va te retourner une classe de 
 type 
 ExoDisc.
 = Là tu me parles du controller. Or, je n'ai qu'un seul controller pour 
 tous les exercices, c'est celui qui s'apelle 
 exo_aleas_controller.html.erb 
 qui hérite de ExoAleasController  ApplicationController
 Dans mon modèle, je n'ai pas de Exo.find(id).

 Si tu veux simplifier ton controlleur, tu peux utiliser 
 https://github.com/plataformatec/responders 
 https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fplataformatec%2Fresponderssa=Dsntz=1usg=AFQjCNHNNun_c1fE27LF-1IghU5aS-XDrg
  
 et https://github.com/hashrocket/decent_exposure . = on va y aller 
 doucement. Quand j'aurais tout bien compris je verrai. Je vais déjà 
 migrer 
 de Mongo vers PostGrei.

 J'aime bien aidé les gens quand c'est un problème que je connais bien. 
 Je pense que la communauté Ruby est plus petite que celle de PHP mais 
 très 
 altruiste. Si tu étais proche, je serai probablement venu t'aider.
 Je ne voudrais pas abuser mais je fais souvent des vidéo conférence 
 pour mon métier, si tu as un moment, c'est possible pour moi. Par 
 HangOut, 
 vive Google. 

  -- 
 -- 
 Vous avez reçu ce message, car vous êtes abonné au groupe 
 Railsfrance de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
 l'adresse rails...@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com
 --- 
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
 concernant, envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com.
 Pour obtenir davantage d'options, consultez la page 
 https://groups.google.com/d/optout.




-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour 

Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet Philippe Demaria
Merci pour ta réponse rapide.
Quel exemple de code voudrais tu ?

Le mercredi 15 avril 2015 08:44:20 UTC-5, Guirec Corbel a écrit :

 Peux-tu nous envoyer un exemple de ton code ? Je suis convaincu que ce que 
 tu veux peux être fait en 10 lignes de code (de moins de 80 caractères par 
 ligne).

 Le 15 avril 2015 09:41, Guirec Corbel guirec...@gmail.com javascript: 
 a écrit :

 Bonjour,

 Je pense que tu fais fausse route. Tu peux créer un seul model, avec une 
 commande comme rails g model Exercise question anwser. Tu peux également 
 faire un seul contrôleur ExercisesController avec la méthode show. 
 Ensuite, tu créer une seule vu avec la question. Tu ajoutes la route et tu 
 peux ensuite accéder à ton exercice en allant sur 
 localhost:3000/exercise/1. Pour valider que la réponse fournis par la 
 personne est la même que celle que tu souhaites, tu peux utiliser un Custom 
 Validator : 
 http://guides.rubyonrails.org/active_record_validations.html#performing-custom-validations
  
 .

 Est-ce que j'ai bien compris ta question ?

 Je te conseil vivement de faire un tutoriel comme 
 http://railsforzombies.org/ avant de faire ta première application. Tu 
 comprendras mieux le concept.

 Bonne chance,
 Guirec.

 Le 15 avril 2015 09:09, Philippe Demaria demaria@lfbogota.com 
 javascript: a écrit :

 Bonjour à tous,

 je suis enseignant mais surtout débutant en Rails. Premier défit : je 
 vais essayer d'expliquer mon problème.

 -
 Je génère aléatoirement des exercices exo1, exo2, exo 3 et mes élèves 
 peuvent répondre à la question posée.

 Pour chaque exercice j'utilise un controller, un model, une vue show et 
 un helper.
 Le model est les même exactement
 la vue show aussi sauf les variable @exo...
 les helpers sont différents
 les controller sont identique même sauf la def validation qui valide la 
 réponse d'un élève et la variable @exo...

 Si je génère 100 exercices, il va donc me falloir 400 fichiers...Or 
 justement la logique voudrait que tout puisse être regroupé.

 J'ai bien pensé à créer un layout exoaleatoire et l'appeler dans mes 
 controller par layout exoaleatoire mais il faut quand même 100 
 controller, 100 model et 100 helper .
 -


 Quelqu'un peut essayer de m'aider ?

 Dire qu'avec PHP je saurai le faire Mais bon faut progresser un 
 peu.

 Merci.



  -- 
 -- 
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance 
 de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
 rails...@googlegroups.com javascript:
 Pour résilier votre abonnement envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com javascript:
 --- 
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
 concernant, envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com javascript:.
 Pour obtenir davantage d'options, consultez la page 
 https://groups.google.com/d/optout.





-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet Philippe Demaria
Ca je l'ai fait pour les exercices de même type et ça marche.

Mais lorsque les exercices exo1, exo 2 et exo 3 ne sont pas sur le même 
sujet, il y a un problème.

Par exemple : l'exo 1 est sur le discriminant
l'exo 2 sur le calcul de fraction
l'exo 3 sur le calcul d'entier
l'exo 4 sur le calcul de corrodonnées...

Là j'ai un problème car pour chaque type d'exo, il faut avoir une logique 
différente.


Le mercredi 15 avril 2015 08:41:11 UTC-5, Guirec Corbel a écrit :

 Bonjour,

 Je pense que tu fais fausse route. Tu peux créer un seul model, avec une 
 commande comme rails g model Exercise question anwser. Tu peux également 
 faire un seul contrôleur ExercisesController avec la méthode show. 
 Ensuite, tu créer une seule vu avec la question. Tu ajoutes la route et tu 
 peux ensuite accéder à ton exercice en allant sur 
 localhost:3000/exercise/1. Pour valider que la réponse fournis par la 
 personne est la même que celle que tu souhaites, tu peux utiliser un Custom 
 Validator : 
 http://guides.rubyonrails.org/active_record_validations.html#performing-custom-validations
  
 .

 Est-ce que j'ai bien compris ta question ?

 Je te conseil vivement de faire un tutoriel comme 
 http://railsforzombies.org/ avant de faire ta première application. Tu 
 comprendras mieux le concept.

 Bonne chance,
 Guirec.

 Le 15 avril 2015 09:09, Philippe Demaria demaria@lfbogota.com 
 javascript: a écrit :

 Bonjour à tous,

 je suis enseignant mais surtout débutant en Rails. Premier défit : je 
 vais essayer d'expliquer mon problème.

 -
 Je génère aléatoirement des exercices exo1, exo2, exo 3 et mes élèves 
 peuvent répondre à la question posée.

 Pour chaque exercice j'utilise un controller, un model, une vue show et 
 un helper.
 Le model est les même exactement
 la vue show aussi sauf les variable @exo...
 les helpers sont différents
 les controller sont identique même sauf la def validation qui valide la 
 réponse d'un élève et la variable @exo...

 Si je génère 100 exercices, il va donc me falloir 400 fichiers...Or 
 justement la logique voudrait que tout puisse être regroupé.

 J'ai bien pensé à créer un layout exoaleatoire et l'appeler dans mes 
 controller par layout exoaleatoire mais il faut quand même 100 
 controller, 100 model et 100 helper .
 -


 Quelqu'un peut essayer de m'aider ?

 Dire qu'avec PHP je saurai le faire Mais bon faut progresser un 
 peu.

 Merci.



  -- 
 -- 
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance 
 de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
 rails...@googlegroups.com javascript:
 Pour résilier votre abonnement envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com javascript:
 --- 
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
 concernant, envoyez un e-mail à l'adresse railsfrance...@googlegroups.com 
 javascript:.
 Pour obtenir davantage d'options, consultez la page 
 https://groups.google.com/d/optout.




-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet Guirec Corbel
Bonjour,

Je pense que tu fais fausse route. Tu peux créer un seul model, avec une
commande comme rails g model Exercise question anwser. Tu peux également
faire un seul contrôleur ExercisesController avec la méthode show.
Ensuite, tu créer une seule vu avec la question. Tu ajoutes la route et tu
peux ensuite accéder à ton exercice en allant sur
localhost:3000/exercise/1. Pour valider que la réponse fournis par la
personne est la même que celle que tu souhaites, tu peux utiliser un Custom
Validator :
http://guides.rubyonrails.org/active_record_validations.html#performing-custom-validations
.

Est-ce que j'ai bien compris ta question ?

Je te conseil vivement de faire un tutoriel comme
http://railsforzombies.org/ avant de faire ta première application. Tu
comprendras mieux le concept.

Bonne chance,
Guirec.

Le 15 avril 2015 09:09, Philippe Demaria demaria.phili...@lfbogota.com a
écrit :

 Bonjour à tous,

 je suis enseignant mais surtout débutant en Rails. Premier défit : je vais
 essayer d'expliquer mon problème.

 -
 Je génère aléatoirement des exercices exo1, exo2, exo 3 et mes élèves
 peuvent répondre à la question posée.

 Pour chaque exercice j'utilise un controller, un model, une vue show et un
 helper.
 Le model est les même exactement
 la vue show aussi sauf les variable @exo...
 les helpers sont différents
 les controller sont identique même sauf la def validation qui valide la
 réponse d'un élève et la variable @exo...

 Si je génère 100 exercices, il va donc me falloir 400 fichiers...Or
 justement la logique voudrait que tout puisse être regroupé.

 J'ai bien pensé à créer un layout exoaleatoire et l'appeler dans mes
 controller par layout exoaleatoire mais il faut quand même 100
 controller, 100 model et 100 helper .
 -


 Quelqu'un peut essayer de m'aider ?

 Dire qu'avec PHP je saurai le faire Mais bon faut progresser un
 peu.

 Merci.



  --
 --
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de
 Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
 railsfrance@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse
 railsfrance-unsubscr...@googlegroups.com
 ---
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
 concernant, envoyez un e-mail à l'adresse
 railsfrance+unsubscr...@googlegroups.com.
 Pour obtenir davantage d'options, consultez la page
 https://groups.google.com/d/optout.


-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet Guirec Corbel
Un modèle, une vue, un contrôleur et un helper. Ça va nous aider à
comprendre.

Le 15 avril 2015 09:46, Philippe Demaria demaria.phili...@lfbogota.com a
écrit :

 Merci pour ta réponse rapide.
 Quel exemple de code voudrais tu ?

 Le mercredi 15 avril 2015 08:44:20 UTC-5, Guirec Corbel a écrit :

 Peux-tu nous envoyer un exemple de ton code ? Je suis convaincu que ce
 que tu veux peux être fait en 10 lignes de code (de moins de 80 caractères
 par ligne).

 Le 15 avril 2015 09:41, Guirec Corbel guirec...@gmail.com a écrit :

 Bonjour,

 Je pense que tu fais fausse route. Tu peux créer un seul model, avec une
 commande comme rails g model Exercise question anwser. Tu peux également
 faire un seul contrôleur ExercisesController avec la méthode show.
 Ensuite, tu créer une seule vu avec la question. Tu ajoutes la route et tu
 peux ensuite accéder à ton exercice en allant sur
 localhost:3000/exercise/1. Pour valider que la réponse fournis par la
 personne est la même que celle que tu souhaites, tu peux utiliser un Custom
 Validator : http://guides.rubyonrails.org/active_record_validations.
 html#performing-custom-validations .

 Est-ce que j'ai bien compris ta question ?

 Je te conseil vivement de faire un tutoriel comme
 http://railsforzombies.org/ avant de faire ta première application. Tu
 comprendras mieux le concept.

 Bonne chance,
 Guirec.

 Le 15 avril 2015 09:09, Philippe Demaria demaria@lfbogota.com a
 écrit :

 Bonjour à tous,

 je suis enseignant mais surtout débutant en Rails. Premier défit : je
 vais essayer d'expliquer mon problème.

 -
 Je génère aléatoirement des exercices exo1, exo2, exo 3 et mes élèves
 peuvent répondre à la question posée.

 Pour chaque exercice j'utilise un controller, un model, une vue show et
 un helper.
 Le model est les même exactement
 la vue show aussi sauf les variable @exo...
 les helpers sont différents
 les controller sont identique même sauf la def validation qui valide la
 réponse d'un élève et la variable @exo...

 Si je génère 100 exercices, il va donc me falloir 400 fichiers...Or
 justement la logique voudrait que tout puisse être regroupé.

 J'ai bien pensé à créer un layout exoaleatoire et l'appeler dans mes
 controller par layout exoaleatoire mais il faut quand même 100
 controller, 100 model et 100 helper .
 -


 Quelqu'un peut essayer de m'aider ?

 Dire qu'avec PHP je saurai le faire Mais bon faut progresser un
 peu.

 Merci.



  --
 --
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance
 de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à
 l'adresse rails...@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse
 railsfrance...@googlegroups.com
 ---
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
 concernant, envoyez un e-mail à l'adresse railsfrance...@
 googlegroups.com.
 Pour obtenir davantage d'options, consultez la page
 https://groups.google.com/d/optout.



  --
 --
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de
 Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
 railsfrance@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse
 railsfrance-unsubscr...@googlegroups.com
 ---
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
 concernant, envoyez un e-mail à l'adresse
 railsfrance+unsubscr...@googlegroups.com.
 Pour obtenir davantage d'options, consultez la page
 https://groups.google.com/d/optout.


-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet Guirec Corbel
Première aperçu : le then ne te sert à rien dans tes if. Je ne savait
même que c'était possible. D'après ce que je comprend, tu as uniquement le
helper et la validation qui change. La première chose à faire, ça serait de
ramener ces deux éléments dans le modèle. Ta vue, ton controlleur et ton
helper seront donc tous les même.

Je pense que tu pourrais t'en sortir avec un héritage :
http://samurails.com/tutorial/single-table-inheritance-with-rails-4-part-1/.
Tu peux créer plusieurs modèles qui héritent de ta classe Exercise et qui
ré-implémente la validation et l'énoncé.

Le lien que je t'ai envoyé explique comment faire l'héritage avec Rails. Il
y a peut-être une meilleure solution mais c'est ce que je vois pour le
moment.

Le 15 avril 2015 09:52, Philippe Demaria demaria.phili...@lfbogota.com a
écrit :

 Et voilà.


 Le mercredi 15 avril 2015 08:48:58 UTC-5, Guirec Corbel a écrit :

 Un modèle, une vue, un contrôleur et un helper. Ça va nous aider à
 comprendre.

 Le 15 avril 2015 09:46, Philippe Demaria demaria@lfbogota.com a
 écrit :

 Merci pour ta réponse rapide.
 Quel exemple de code voudrais tu ?

 Le mercredi 15 avril 2015 08:44:20 UTC-5, Guirec Corbel a écrit :

 Peux-tu nous envoyer un exemple de ton code ? Je suis convaincu que ce
 que tu veux peux être fait en 10 lignes de code (de moins de 80 caractères
 par ligne).

 Le 15 avril 2015 09:41, Guirec Corbel guirec...@gmail.com a écrit :

 Bonjour,

 Je pense que tu fais fausse route. Tu peux créer un seul model, avec
 une commande comme rails g model Exercise question anwser. Tu peux
 également faire un seul contrôleur ExercisesController avec la méthode
 show. Ensuite, tu créer une seule vu avec la question. Tu ajoutes la route
 et tu peux ensuite accéder à ton exercice en allant sur
 localhost:3000/exercise/1. Pour valider que la réponse fournis par la
 personne est la même que celle que tu souhaites, tu peux utiliser un 
 Custom
 Validator : http://guides.rubyonrails.org/active_record_validations.ht
 ml#performing-custom-validations .

 Est-ce que j'ai bien compris ta question ?

 Je te conseil vivement de faire un tutoriel comme
 http://railsforzombies.org/ avant de faire ta première application.
 Tu comprendras mieux le concept.

 Bonne chance,
 Guirec.

 Le 15 avril 2015 09:09, Philippe Demaria demaria@lfbogota.com a
 écrit :

 Bonjour à tous,

 je suis enseignant mais surtout débutant en Rails. Premier défit : je
 vais essayer d'expliquer mon problème.

 -
 Je génère aléatoirement des exercices exo1, exo2, exo 3 et mes élèves
 peuvent répondre à la question posée.

 Pour chaque exercice j'utilise un controller, un model, une vue show
 et un helper.
 Le model est les même exactement
 la vue show aussi sauf les variable @exo...
 les helpers sont différents
 les controller sont identique même sauf la def validation qui valide
 la réponse d'un élève et la variable @exo...

 Si je génère 100 exercices, il va donc me falloir 400 fichiers...Or
 justement la logique voudrait que tout puisse être regroupé.

 J'ai bien pensé à créer un layout exoaleatoire et l'appeler dans
 mes controller par layout exoaleatoire mais il faut quand même 100
 controller, 100 model et 100 helper .
 -


 Quelqu'un peut essayer de m'aider ?

 Dire qu'avec PHP je saurai le faire Mais bon faut progresser un
 peu.

 Merci.



  --
 --
 Vous avez reçu ce message, car vous êtes abonné au groupe
 Railsfrance de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à
 l'adresse rails...@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse
 railsfrance...@googlegroups.com
 ---
 Vous recevez ce message, car vous êtes abonné au groupe
 Google Groupes Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
 concernant, envoyez un e-mail à l'adresse railsfrance...@
 googlegroups.com.
 Pour obtenir davantage d'options, consultez la page
 https://groups.google.com/d/optout.



  --
 --
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance
 de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
 rails...@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse
 railsfrance...@googlegroups.com
 ---
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
 concernant, envoyez un e-mail à l'adresse railsfrance...@
 googlegroups.com.
 Pour obtenir davantage d'options, consultez la page
 https://groups.google.com/d/optout.


  --
 --
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de
 Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
 railsfrance@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse
 railsfrance-unsubscr...@googlegroups.com
 ---
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
 Railsfrance.
 Pour 

Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet Guirec Corbel
Peux-tu nous envoyer un exemple de ton code ? Je suis convaincu que ce que
tu veux peux être fait en 10 lignes de code (de moins de 80 caractères par
ligne).

Le 15 avril 2015 09:41, Guirec Corbel guirec.cor...@gmail.com a écrit :

 Bonjour,

 Je pense que tu fais fausse route. Tu peux créer un seul model, avec une
 commande comme rails g model Exercise question anwser. Tu peux également
 faire un seul contrôleur ExercisesController avec la méthode show.
 Ensuite, tu créer une seule vu avec la question. Tu ajoutes la route et tu
 peux ensuite accéder à ton exercice en allant sur
 localhost:3000/exercise/1. Pour valider que la réponse fournis par la
 personne est la même que celle que tu souhaites, tu peux utiliser un Custom
 Validator :
 http://guides.rubyonrails.org/active_record_validations.html#performing-custom-validations
 .

 Est-ce que j'ai bien compris ta question ?

 Je te conseil vivement de faire un tutoriel comme
 http://railsforzombies.org/ avant de faire ta première application. Tu
 comprendras mieux le concept.

 Bonne chance,
 Guirec.

 Le 15 avril 2015 09:09, Philippe Demaria demaria.phili...@lfbogota.com
 a écrit :

 Bonjour à tous,

 je suis enseignant mais surtout débutant en Rails. Premier défit : je
 vais essayer d'expliquer mon problème.

 -
 Je génère aléatoirement des exercices exo1, exo2, exo 3 et mes élèves
 peuvent répondre à la question posée.

 Pour chaque exercice j'utilise un controller, un model, une vue show et
 un helper.
 Le model est les même exactement
 la vue show aussi sauf les variable @exo...
 les helpers sont différents
 les controller sont identique même sauf la def validation qui valide la
 réponse d'un élève et la variable @exo...

 Si je génère 100 exercices, il va donc me falloir 400 fichiers...Or
 justement la logique voudrait que tout puisse être regroupé.

 J'ai bien pensé à créer un layout exoaleatoire et l'appeler dans mes
 controller par layout exoaleatoire mais il faut quand même 100
 controller, 100 model et 100 helper .
 -


 Quelqu'un peut essayer de m'aider ?

 Dire qu'avec PHP je saurai le faire Mais bon faut progresser un
 peu.

 Merci.



  --
 --
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance
 de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
 railsfrance@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse
 railsfrance-unsubscr...@googlegroups.com
 ---
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
 concernant, envoyez un e-mail à l'adresse
 railsfrance+unsubscr...@googlegroups.com.
 Pour obtenir davantage d'options, consultez la page
 https://groups.google.com/d/optout.




-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet Philippe Demaria
Voici les fichiers pour le calculs de relatifs par exemple.
le model est le même

Je voudrais factoriser tout ce qui est identique. C'est le but de Rails je 
crois.


Le mercredi 15 avril 2015 09:00:23 UTC-5, Philippe Demaria a écrit :

 Ca je l'ai fait pour les exercices de même type et ça marche.

 Mais lorsque les exercices exo1, exo 2 et exo 3 ne sont pas sur le même 
 sujet, il y a un problème.

 Par exemple : l'exo 1 est sur le discrminant
 l'exo 2 sur le calcul de fraction
 l'exo 3 sur le calcul d'entier
 l'exo 4 sur le calcul de corrodonnées...

 Là j'ai un problème car pour chaque type d'exo, il faut avoir une logique 
 différente.


 Le mercredi 15 avril 2015 08:41:11 UTC-5, Guirec Corbel a écrit :

 Bonjour,

 Je pense que tu fais fausse route. Tu peux créer un seul model, avec une 
 commande comme rails g model Exercise question anwser. Tu peux également 
 faire un seul contrôleur ExercisesController avec la méthode show. 
 Ensuite, tu créer une seule vu avec la question. Tu ajoutes la route et tu 
 peux ensuite accéder à ton exercice en allant sur 
 localhost:3000/exercise/1. Pour valider que la réponse fournis par la 
 personne est la même que celle que tu souhaites, tu peux utiliser un Custom 
 Validator : 
 http://guides.rubyonrails.org/active_record_validations.html#performing-custom-validations
  
 .

 Est-ce que j'ai bien compris ta question ?

 Je te conseil vivement de faire un tutoriel comme 
 http://railsforzombies.org/ avant de faire ta première application. Tu 
 comprendras mieux le concept.

 Bonne chance,
 Guirec.

 Le 15 avril 2015 09:09, Philippe Demaria demaria@lfbogota.com a 
 écrit :

 Bonjour à tous,

 je suis enseignant mais surtout débutant en Rails. Premier défit : je 
 vais essayer d'expliquer mon problème.

 -
 Je génère aléatoirement des exercices exo1, exo2, exo 3 et mes élèves 
 peuvent répondre à la question posée.

 Pour chaque exercice j'utilise un controller, un model, une vue show et 
 un helper.
 Le model est les même exactement
 la vue show aussi sauf les variable @exo...
 les helpers sont différents
 les controller sont identique même sauf la def validation qui valide la 
 réponse d'un élève et la variable @exo...

 Si je génère 100 exercices, il va donc me falloir 400 fichiers...Or 
 justement la logique voudrait que tout puisse être regroupé.

 J'ai bien pensé à créer un layout exoaleatoire et l'appeler dans mes 
 controller par layout exoaleatoire mais il faut quand même 100 
 controller, 100 model et 100 helper .
 -


 Quelqu'un peut essayer de m'aider ?

 Dire qu'avec PHP je saurai le faire Mais bon faut progresser un 
 peu.

 Merci.



  -- 
 -- 
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance 
 de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
 rails...@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com
 --- 
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
 concernant, envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com.
 Pour obtenir davantage d'options, consultez la page 
 https://groups.google.com/d/optout.




-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


exo_sumrelatifs_controller.rb
Description: Binary data


show.html.erb
Description: Binary data


exo_sumrelatifs_helper.rb
Description: Binary data


exo_sumrelatif.rb
Description: Binary data


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet thierry henrio
2015-04-15 16:02 GMT+02:00 Philippe Demaria demaria.phili...@lfbogota.com:

 Voici les fichiers pour le calculs de relatifs par exemple.
 le model est le même

 Est-ce qu'un exercice a une seule solution ?

?, Thierry

-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet Philippe Demaria
Et voilà.


Le mercredi 15 avril 2015 08:48:58 UTC-5, Guirec Corbel a écrit :

 Un modèle, une vue, un contrôleur et un helper. Ça va nous aider à 
 comprendre.

 Le 15 avril 2015 09:46, Philippe Demaria demaria@lfbogota.com 
 javascript: a écrit :

 Merci pour ta réponse rapide.
 Quel exemple de code voudrais tu ?

 Le mercredi 15 avril 2015 08:44:20 UTC-5, Guirec Corbel a écrit :

 Peux-tu nous envoyer un exemple de ton code ? Je suis convaincu que ce 
 que tu veux peux être fait en 10 lignes de code (de moins de 80 caractères 
 par ligne).

 Le 15 avril 2015 09:41, Guirec Corbel guirec...@gmail.com a écrit :

 Bonjour,

 Je pense que tu fais fausse route. Tu peux créer un seul model, avec 
 une commande comme rails g model Exercise question anwser. Tu peux 
 également faire un seul contrôleur ExercisesController avec la méthode 
 show. Ensuite, tu créer une seule vu avec la question. Tu ajoutes la route 
 et tu peux ensuite accéder à ton exercice en allant sur 
 localhost:3000/exercise/1. Pour valider que la réponse fournis par la 
 personne est la même que celle que tu souhaites, tu peux utiliser un 
 Custom 
 Validator : http://guides.rubyonrails.org/active_record_validations.
 html#performing-custom-validations .

 Est-ce que j'ai bien compris ta question ?

 Je te conseil vivement de faire un tutoriel comme 
 http://railsforzombies.org/ avant de faire ta première application. Tu 
 comprendras mieux le concept.

 Bonne chance,
 Guirec.

 Le 15 avril 2015 09:09, Philippe Demaria demaria@lfbogota.com a 
 écrit :

 Bonjour à tous,

 je suis enseignant mais surtout débutant en Rails. Premier défit : je 
 vais essayer d'expliquer mon problème.

 -
 Je génère aléatoirement des exercices exo1, exo2, exo 3 et mes élèves 
 peuvent répondre à la question posée.

 Pour chaque exercice j'utilise un controller, un model, une vue show 
 et un helper.
 Le model est les même exactement
 la vue show aussi sauf les variable @exo...
 les helpers sont différents
 les controller sont identique même sauf la def validation qui valide 
 la réponse d'un élève et la variable @exo...

 Si je génère 100 exercices, il va donc me falloir 400 fichiers...Or 
 justement la logique voudrait que tout puisse être regroupé.

 J'ai bien pensé à créer un layout exoaleatoire et l'appeler dans mes 
 controller par layout exoaleatoire mais il faut quand même 100 
 controller, 100 model et 100 helper .
 -


 Quelqu'un peut essayer de m'aider ?

 Dire qu'avec PHP je saurai le faire Mais bon faut progresser un 
 peu.

 Merci.



  -- 
 -- 
 Vous avez reçu ce message, car vous êtes abonné au groupe 
 Railsfrance de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
 l'adresse rails...@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com
 --- 
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
 concernant, envoyez un e-mail à l'adresse railsfrance...@
 googlegroups.com.
 Pour obtenir davantage d'options, consultez la page 
 https://groups.google.com/d/optout.



  -- 
 -- 
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance 
 de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
 rails...@googlegroups.com javascript:
 Pour résilier votre abonnement envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com javascript:
 --- 
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
 concernant, envoyez un e-mail à l'adresse railsfrance...@googlegroups.com 
 javascript:.
 Pour obtenir davantage d'options, consultez la page 
 https://groups.google.com/d/optout.




-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


exo_discriminants_helper.rb
Description: Binary data


show.html.erb
Description: Binary data


exo_discriminant.rb
Description: Binary data


exo_discriminants_controller.rb
Description: Binary data


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet Philippe Demaria
Pas forcement mais pour l'instant oui.

Le mercredi 15 avril 2015 09:20:25 UTC-5, thierry.henrio a écrit :

 2015-04-15 16:02 GMT+02:00 Philippe Demaria demaria@lfbogota.com 
 javascript::

 Voici les fichiers pour le calculs de relatifs par exemple.
 le model est le même

 Est-ce qu'un exercice a une seule solution ?

 ?, Thierry


-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet Guirec Corbel
Apparemment oui mais la solution est variables car les variables ( au sens
mathématique ) sont aléatoires. Les solutions doivent donc êtres calculées.

Ça serait possible de stocker la formule dans la base de données et de
l’exécuter en faisant une interpolation des variables. Si le chaîne @a +
@b - @c est stockée, tu peux faire un eval de cette chaîne pour vérifier
le résultat avec les variables. Je pense que ça peut fonctionner.

Le 15 avril 2015 10:20, thierry henrio thierry.hen...@gmail.com a écrit :

 2015-04-15 16:02 GMT+02:00 Philippe Demaria demaria.phili...@lfbogota.com
 :

 Voici les fichiers pour le calculs de relatifs par exemple.
 le model est le même

 Est-ce qu'un exercice a une seule solution ?

 ?, Thierry

 --
 --
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de
 Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
 railsfrance@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse
 railsfrance-unsubscr...@googlegroups.com
 ---
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
 concernant, envoyez un e-mail à l'adresse
 railsfrance+unsubscr...@googlegroups.com.
 Pour obtenir davantage d'options, consultez la page
 https://groups.google.com/d/optout.


-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet Guirec Corbel
Je vais te donner un exemple potentiel (non testé) pour ton code.

class ExoDiscriminant
  include Mongoid::Document
  include Mongoid::Timestamps

  field :title, type: String
  field :text, type: String
  field :help, type: String
  field :time, type: Integer
  field :reponseStudent, type: Integer
  field :a, type: Integer
  field :b, type: Integer
  field :c, type: Integer
  field :d, type: Integer

  validates :title, presence: true
  validates :text, presence: true
  validates :time, presence: true
  validates :help, presence: true
  validates :reponseStudent, presence: true, on: :validation

  validate :valid_answer, on: :update

  def valid_answer
errors.add(:anwser, Réponse fausse) unless result_valid?
  end

  def result_valid?
# Ta méthode validate dans ton contrôleur.
  end

  def enunciated
   # Même chose que dans ton helper.
  end
end

À partir de ça, dans ton contrôleur, tu n'a juste a changer la classe
instanciée. Tu peux ensuite utiliser la méthode @exo.enunciated dans ta
vue, à la place de ton helper.

Avec l'héritage tu auras une base comme ceci :

class Exo
  # ...

  def result_valid?
# une validation par défaut si tu en a
  end

  def enunciated
# un énoncé par défaut si tu en a
   end
end

et des classes enfants comme ceci :

class ExoDiscriminant  Exo
  def result_valid?
 # Validation spécifique pour les discrimiants
  end

  def enunciated
# Énoncé spéfique
  end
end

Est-ce que tu vois ce que je veux dire ?

Le 15 avril 2015 12:34, Philippe Demaria demaria.phili...@lfbogota.com a
écrit :

 Justement, je ne voudrais pas passer par le stockage en bdd.
 les exercices étant alétoires, je ne veux pas utiliser d'enregistrement en
 base de données. Comme cela avec un type d'exo, j'ai une infinité d'exo.
 Je vais potasser ton tuto rails : samurails.
 Mais comme je vais avoir à peu près 1000 types d´exo différents, j'essaie
 tout de suite de partir bien.

 Je ne comprends pas trop  ton idée :
 *D'après ce que je comprend, tu as uniquement le helper et la validation
 qui change*. OUI
 *La première chose à faire, ça serait de ramener ces deux éléments dans le
 modèle*. Dans quel model ?
 *Ta vue, ton controlleur et ton helper seront donc tous les même. *Comment
 peuvent ils être les mêmes ?

 Je dois un peu potasser.


 Le mercredi 15 avril 2015 09:26:12 UTC-5, Guirec Corbel a écrit :

 Apparemment oui mais la solution est variables car les variables ( au
 sens mathématique ) sont aléatoires. Les solutions doivent donc êtres
 calculées.

 Ça serait possible de stocker la formule dans la base de données et de
 l’exécuter en faisant une interpolation des variables. Si le chaîne @a +
 @b - @c est stockée, tu peux faire un eval de cette chaîne pour vérifier
 le résultat avec les variables. Je pense que ça peut fonctionner.

 Le 15 avril 2015 10:20, thierry henrio thierry...@gmail.com a écrit :

 2015-04-15 16:02 GMT+02:00 Philippe Demaria demaria@lfbogota.com:

 Voici les fichiers pour le calculs de relatifs par exemple.
 le model est le même

 Est-ce qu'un exercice a une seule solution ?

 ?, Thierry

 --
 --
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance
 de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
 rails...@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse
 railsfrance...@googlegroups.com
 ---
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
 concernant, envoyez un e-mail à l'adresse railsfrance...@
 googlegroups.com.
 Pour obtenir davantage d'options, consultez la page
 https://groups.google.com/d/optout.


  --
 --
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de
 Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
 railsfrance@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse
 railsfrance-unsubscr...@googlegroups.com
 ---
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
 concernant, envoyez un e-mail à l'adresse
 railsfrance+unsubscr...@googlegroups.com.
 Pour obtenir davantage d'options, consultez la page
 https://groups.google.com/d/optout.


-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet Philippe Demaria
Justement, je ne voudrais pas passer par le stockage en bdd. 
les exercices étant alétoires, je ne veux pas utiliser d'enregistrement en 
base de données. Comme cela avec un type d'exo, j'ai une infinité d'exo.
Je vais potasser ton tuto rails : samurails.
Mais comme je vais avoir à peu près 1000 types d´exo différents, j'essaie 
tout de suite de partir bien.

Je ne comprends pas trop  ton idée :
*D'après ce que je comprend, tu as uniquement le helper et la validation 
qui change*. OUI
*La première chose à faire, ça serait de ramener ces deux éléments dans le 
modèle*. Dans quel model ?
*Ta vue, ton controlleur et ton helper seront donc tous les même. *Comment 
peuvent ils être les mêmes ? 

Je dois un peu potasser.


Le mercredi 15 avril 2015 09:26:12 UTC-5, Guirec Corbel a écrit :

 Apparemment oui mais la solution est variables car les variables ( au sens 
 mathématique ) sont aléatoires. Les solutions doivent donc êtres calculées.

 Ça serait possible de stocker la formule dans la base de données et de 
 l’exécuter en faisant une interpolation des variables. Si le chaîne @a + 
 @b - @c est stockée, tu peux faire un eval de cette chaîne pour vérifier 
 le résultat avec les variables. Je pense que ça peut fonctionner.

 Le 15 avril 2015 10:20, thierry henrio thierry...@gmail.com javascript:
  a écrit :

 2015-04-15 16:02 GMT+02:00 Philippe Demaria demaria@lfbogota.com 
 javascript::

 Voici les fichiers pour le calculs de relatifs par exemple.
 le model est le même

 Est-ce qu'un exercice a une seule solution ?

 ?, Thierry

 -- 
 -- 
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance 
 de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
 rails...@googlegroups.com javascript:
 Pour résilier votre abonnement envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com javascript:
 --- 
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
 concernant, envoyez un e-mail à l'adresse railsfrance...@googlegroups.com 
 javascript:.
 Pour obtenir davantage d'options, consultez la page 
 https://groups.google.com/d/optout.




-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet thierry henrio
2015-04-15 21:41 GMT+02:00 thierry henrio thierry.hen...@gmail.com:


 ce qui compte est l'algorithme ( et le protocole @joeerl said ) : code tes
 types de problemes dans ton modele


Mon mailer n'est pas bien configure ( comme mon clavier d'ailleurs :)

-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet thierry henrio
2015-04-15 18:34 GMT+02:00 Philippe Demaria demaria.phili...@lfbogota.com:

 Justement, je ne voudrais pas passer par le stockage en bdd.
 les exercices étant alétoires, je ne veux pas utiliser d'enregistrement en
 base de données. Comme cela avec un type d'exo, j'ai une infinité d'exo.


Et comment tu les genere tes exercices ?
Tu donne un parametre a ta commande ?

generate add 2 40 ?

generate divide 42*4 4 ?


si oui, le parametre important est l'algorithme ( add, divide, sudoku,
merkle tree, ... )
il devrait faire parti de ton modele et si tu codes l'algorithme de chaque
probleme, et bien c'est une facon de resoudre le *tien*

alors,

1- new
tu n'as pas besoin de generer des exercices : rails peut le faire

GET /exercices/add/new = add( random, random )


ou

GET /exercices/new?kind=add

ymmv, a toi de voir ce que tu preferes

2- database?
tu n'as pas besoin de mettre ton modele en base
peut-etre le resultat ?

*bottom line*
ce qui compte est l'algorithme ( et le protocole @joeerl said ) : code tes
types de problemes dans ton modele

divise ton probleme et la conquete n'est pas loin, le reste est un detail
( et ce n'est pas pejoratif, le manque d'attention au detail est la ruine
du code )

et puis... commence par faire un test :)

?, Thierry

-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet Guirec Corbel

T'as juste une heure de décalage avec moi. Je suis au Québec. Bonne chance.

Le 2015-04-15 18:02, Philippe Demaria a écrit :

Ta méthode a l'air parfaite. Je vais la tester.
Désolé pour le temps de réponse mais j'habite en Colombie (7heures de 
décalage)...et une famille aussi

Merci à tous les 2, je vais plancher vos idées.

Le mercredi 15 avril 2015 11:47:01 UTC-5, Guirec Corbel a écrit :

Je vais te donner un exemple potentiel (non testé) pour ton code.

class ExoDiscriminant
  include Mongoid::Document
  include Mongoid::Timestamps

  field :title, type: String
  field :text, type: String
  field :help, type: String
  field :time, type: Integer
  field :reponseStudent, type: Integer
  field :a, type: Integer
  field :b, type: Integer
  field :c, type: Integer
  field :d, type: Integer

  validates :title, presence: true
  validates :text, presence: true
  validates :time, presence: true
  validates :help, presence: true
  validates :reponseStudent, presence: true, on: :validation

  validate :valid_answer, on: :update
  def valid_answer
errors.add(:anwser, Réponse fausse) unless result_valid?
  end

  def result_valid?
# Ta méthode validate dans ton contrôleur.
  end

  def enunciated
   # Même chose que dans ton helper.
  end
end

À partir de ça, dans ton contrôleur, tu n'a juste a changer la
classe instanciée. Tu peux ensuite utiliser la méthode
@exo.enunciated dans ta vue, à la place de ton helper.

Avec l'héritage tu auras une base comme ceci :

class Exo
  # ...

  def result_valid?
# une validation par défaut si tu en a
  end
  def enunciated
# un énoncé par défaut si tu en a
   end
end

et des classes enfants comme ceci :

class ExoDiscriminant  Exo
  def result_valid?
 # Validation spécifique pour les discrimiants
  end

  def enunciated
# Énoncé spéfique
  end
end

Est-ce que tu vois ce que je veux dire ?

Le 15 avril 2015 12:34, Philippe Demaria demaria@lfbogota.com
javascript: a écrit :

Justement, je ne voudrais pas passer par le stockage en bdd.
les exercices étant alétoires, je ne veux pas utiliser
d'enregistrement en base de données. Comme cela avec un type
d'exo, j'ai une infinité d'exo.
Je vais potasser ton tuto rails : samurails.
Mais comme je vais avoir à peu près 1000 types d´exo
différents, j'essaie tout de suite de partir bien.

Je ne comprends pas trop  ton idée :
/D'après ce que je comprend, tu as uniquement le helper et la
validation qui change/. OUI
/La première chose à faire, ça serait de ramener ces deux
éléments dans le modèle/. Dans quel model ?
/Ta vue, ton controlleur et ton helper seront donc tous les
même. /Comment peuvent ils être les mêmes ?

Je dois un peu potasser.


Le mercredi 15 avril 2015 09:26:12 UTC-5, Guirec Corbel a écrit :

Apparemment oui mais la solution est variables car les
variables ( au sens mathématique ) sont aléatoires. Les
solutions doivent donc êtres calculées.

Ça serait possible de stocker la formule dans la base de
données et de l’exécuter en faisant une interpolation des
variables. Si le chaîne @a + @b - @c est stockée, tu
peux faire un eval de cette chaîne pour vérifier le
résultat avec les variables. Je pense que ça peut fonctionner.

Le 15 avril 2015 10:20, thierry henrio
thierry...@gmail.com a écrit :

2015-04-15 16:02 GMT+02:00 Philippe Demaria
demaria@lfbogota.com:

Voici les fichiers pour le calculs de relatifs par
exemple.
le model est le même

Est-ce qu'un exercice a une seule solution ?

?, Thierry
-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au

groupe Railsfrance de Google Groups.
Pour transmettre des messages à ce groupe, envoyez un
e-mail à l'adresse rails...@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à
l'adresse railsfrance...@googlegroups.com
---
Vous recevez ce message, car vous êtes abonné au
groupe Google Groupes Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir
d'e-mails le concernant, envoyez un e-mail à l'adresse
railsfrance...@googlegroups.com.
Pour obtenir davantage d'options, consultez la page
https://groups.google.com/d/optout
https://groups.google.com/d/optout.


-- 
  

Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet Philippe Demaria
D'après ce que je comprends : 

Considérons que je veux créer 1000 exercices aléatoires

*... eh oui !Model :*
je crée un model générique :

class ExoAlea
  include Mongoid::Document
  include Mongoid::Timestamps

  field :title, type: String
  field :text, type: String
  field :help, type: String
  field :time, type: Integer
  field :reponseStudent, type: Integer
  field :a, type: Integer
  field :b, type: Integer
  field :c, type: Integer
  field :d, type: Integer

  validates :title, presence: true
  validates :text, presence: true
  validates :time, presence: true
  validates :help, presence: true
  validates :reponseStudent, presence: true, on: :validation

  validate :valid_answer, on: :update
 
  def valid_answer
errors.add(:anwser, Réponse fausse) unless result_valid?
  end

  def result_valid?
#  une validation par défaut
  end 

  def enunciated
   #  un enoncé par défaut
  end
end

puis un model par exercice spécifique :
class ExoDiscriminant  ExoAlea
  def result_valid?
 # Validation spécifique
  end

  def enunciated
# Énoncé spéfique
  end
end

*Question 1 : Donc si j'ai 1000 exos, j'aurais 1000 models specifiques ?*

*Views*
Dans ma vue show , j'utilise la méthode @exoAlea.enunciated et j'enlève le 
helper. 
J'aurai donc une seule vue pour tous mes 1000 exercices. C'est top ! 


*Question 2 : Ma vue show.html.erb doit être dans le dossier app/exoAlea ? 
ou dans le dossier app/Exo_discriminant ? ou dans layout ?*

*Controller *

Comment se nomme ce controller ? exo_alea_controller ou 
exo_discriminant_controller ? 

Dans le contrôleur, te me dis tu n'a juste a changer la classe instanciée.
Si je comprends bien c'est le controller qui se nomme exo_alea_controller.
Dans ce controller, comment je change la classe instanciée ? je peux la 
nommée @exoAlea.enunciated ?

*Question 3 : J'ai un unique controller ou 1000 controllers ?*

*Question 4 : Est ce que le controller resemble donc à ça ?*

class ExoAleaController  ApplicationController
  before_action :set_exo_alea, only: [:show, :edit, :update, :destroy, 
:validation]

  # GET /exo_alea 
  # GET /exo_alea.json
  def index
@exo_alea= ExoAlea.all
  end

  # GET /exo_alea/1
  # GET /exo_alea/1.json
  def show
@exo_alea= ExoAlea.find(params[:id])
@a=rand(20)-rand(20)
@b=rand(2..7)
@c=rand(20)-rand(20)
@d=rand(2..7) 
  end

  # GET /exo_alea/new
  def new
@exo_alea= ExoAlea.new
  end

  # GET /exo_alea/1/edit
  def edit
  end

  # POST /exo_alea  
  # POST /exo_alea.json
  def create
@exo_alea= ExoAlea.new(exo_alea_params)

respond_to do |format|
  if @exo_alea.save
format.html { redirect_to @exo_alea, notice: 'Exo sumfraction was 
successfully created.' }
format.json { render :show, status: :created, location: 
@exo_sumfraction }
  else
format.html { render :new }
format.json { render json: @exo_alea.errors, status: 
:unprocessable_entity }
  end
end
  end

  # PATCH/PUT /exo_sumfractions/1
  # PATCH/PUT /exo_sumfractions/1.json
  def update
respond_to do |format|
  if @exo_alea.update(exo_alea_params)
format.html { redirect_to @exo_alea, notice: 'Exo alea was 
successfully updated.' }
format.json { render :show, status: :ok, location: @exo_alea}
  else
format.html { render :edit }
format.json { render json: @exo_alea.errors, status: 
:unprocessable_entity }
  end
end
  end

  # DELETE /exo_alea/1
  # DELETE /exo_alea/1.json
  def destroy
@exo_sumfraction.destroy
respond_to do |format|
  format.html { redirect_to exo_alea_url, notice: 'Exo alea was 
successfully destroyed.' }
  format.json { head :no_content }
end
  end

private

def set_exo_alea
  @exo_sumfraction = ExoSumfraction.find(params[:id])
end

def exo_alea_params
  params.require(:exo_alea).permit(:title, :text, :help, :string, :time)
end

end

Bon quand tu auras répondu à ces 4 questions, j'espère que tu m'auras donné 
la solution.

Merci infiniment.









-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse railsfrance+unsubscr...@googlegroups.com.
Pour plus d'options, visitez le site https://groups.google.com/d/optout .


Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet Philippe Demaria
Ta méthode a l'air parfaite. Je vais la tester.
Désolé pour le temps de réponse mais j'habite en Colombie (7heures de 
décalage)...et une famille aussi
Merci à tous les 2, je vais plancher vos idées.

Le mercredi 15 avril 2015 11:47:01 UTC-5, Guirec Corbel a écrit :

 Je vais te donner un exemple potentiel (non testé) pour ton code.

 class ExoDiscriminant
   include Mongoid::Document
   include Mongoid::Timestamps

   field :title, type: String
   field :text, type: String
   field :help, type: String
   field :time, type: Integer
   field :reponseStudent, type: Integer
   field :a, type: Integer
   field :b, type: Integer
   field :c, type: Integer
   field :d, type: Integer

   validates :title, presence: true
   validates :text, presence: true
   validates :time, presence: true
   validates :help, presence: true
   validates :reponseStudent, presence: true, on: :validation

   validate :valid_answer, on: :update
  
   def valid_answer
 errors.add(:anwser, Réponse fausse) unless result_valid?
   end

   def result_valid?
 # Ta méthode validate dans ton contrôleur. 
   end 

   def enunciated
# Même chose que dans ton helper.
   end
 end

 À partir de ça, dans ton contrôleur, tu n'a juste a changer la classe 
 instanciée. Tu peux ensuite utiliser la méthode @exo.enunciated dans ta 
 vue, à la place de ton helper.

 Avec l'héritage tu auras une base comme ceci :

 class Exo
   # ...

   def result_valid?
 # une validation par défaut si tu en a
   end
  
   def enunciated
 # un énoncé par défaut si tu en a
end
 end

 et des classes enfants comme ceci :

 class ExoDiscriminant  Exo
   def result_valid?
  # Validation spécifique pour les discrimiants
   end

   def enunciated
 # Énoncé spéfique
   end
 end

 Est-ce que tu vois ce que je veux dire ?

 Le 15 avril 2015 12:34, Philippe Demaria demaria@lfbogota.com 
 javascript: a écrit :

 Justement, je ne voudrais pas passer par le stockage en bdd. 
 les exercices étant alétoires, je ne veux pas utiliser d'enregistrement 
 en base de données. Comme cela avec un type d'exo, j'ai une infinité d'exo.
 Je vais potasser ton tuto rails : samurails.
 Mais comme je vais avoir à peu près 1000 types d´exo différents, j'essaie 
 tout de suite de partir bien.

 Je ne comprends pas trop  ton idée :
 *D'après ce que je comprend, tu as uniquement le helper et la validation 
 qui change*. OUI
 *La première chose à faire, ça serait de ramener ces deux éléments dans 
 le modèle*. Dans quel model ?
 *Ta vue, ton controlleur et ton helper seront donc tous les même. *Comment 
 peuvent ils être les mêmes ? 

 Je dois un peu potasser.


 Le mercredi 15 avril 2015 09:26:12 UTC-5, Guirec Corbel a écrit :

 Apparemment oui mais la solution est variables car les variables ( au 
 sens mathématique ) sont aléatoires. Les solutions doivent donc êtres 
 calculées.

 Ça serait possible de stocker la formule dans la base de données et de 
 l’exécuter en faisant une interpolation des variables. Si le chaîne @a + 
 @b - @c est stockée, tu peux faire un eval de cette chaîne pour vérifier 
 le résultat avec les variables. Je pense que ça peut fonctionner.

 Le 15 avril 2015 10:20, thierry henrio thierry...@gmail.com a écrit :

 2015-04-15 16:02 GMT+02:00 Philippe Demaria demaria@lfbogota.com:

 Voici les fichiers pour le calculs de relatifs par exemple.
 le model est le même

 Est-ce qu'un exercice a une seule solution ?

 ?, Thierry

 -- 
 -- 
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance 
 de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
 l'adresse rails...@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com
 --- 
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
 concernant, envoyez un e-mail à l'adresse railsfrance...@
 googlegroups.com.
 Pour obtenir davantage d'options, consultez la page 
 https://groups.google.com/d/optout.


  -- 
 -- 
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance 
 de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
 rails...@googlegroups.com javascript:
 Pour résilier votre abonnement envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com javascript:
 --- 
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
 concernant, envoyez un e-mail à l'adresse railsfrance...@googlegroups.com 
 javascript:.
 Pour obtenir davantage d'options, consultez la page 
 https://groups.google.com/d/optout.




-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement 

Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet Guirec Corbel
En ruby, quand tu fais un héritage et que tu ré-implémentes une méthode, 
ça écrase la méthode mère. Dans cas, si tu fais 
ExoDiscriminant.new.result_valid? c'est bien ExoDiscrimant#result_valid? 
qui va être appelé et non Exo#result_valid? Transfères toute la logique 
dans le modèle. Ne laisse rien dans le contrôleur. Tu peux utiliser le 
paradigme fat model skinny controler. Dans d'autres cas, il aurait été 
mieux de faire des services objects ou des form objects mais dans ce 
cas je crois que ce n'est pas approprié. Tu peux bouger le helper 
correspondant à la classe. Dans la classe ExoDiscriminant tu peux bouger 
DiscriminantHelper.


Ceci dit, dans ce cas précis je pense que faire un héritage c'est bien 
mais en général, c'est mieux de faire de la composition. Tu peux 
chercher composition over inheritance si tu veux.




Le 2015-04-15 18:08, Philippe Demaria a écrit :

Je vois ce que tu veux dire mais il y a une validation pour chaque exo.
Donc la méthode   def result_valid? n'est pas unique.

Donc je ne peux rien mettre dedans

def result_valid?
# Ta méthode validate dans ton contrôleur.   Je garde alors mon 
controller avec la méthode dedans. c'est ça ?

/end /
/
/
/  def enunciated/
/   # Même chose que dans ton helper. /Lequel ? J'ai un helper par exo !
/  end/



Le mercredi 15 avril 2015 11:47:01 UTC-5, Guirec Corbel a écrit :

Je vais te donner un exemple potentiel (non testé) pour ton code.

class ExoDiscriminant
  include Mongoid::Document
  include Mongoid::Timestamps

  field :title, type: String
  field :text, type: String
  field :help, type: String
  field :time, type: Integer
  field :reponseStudent, type: Integer
  field :a, type: Integer
  field :b, type: Integer
  field :c, type: Integer
  field :d, type: Integer

  validates :title, presence: true
  validates :text, presence: true
  validates :time, presence: true
  validates :help, presence: true
  validates :reponseStudent, presence: true, on: :validation

  validate :valid_answer, on: :update
  def valid_answer
errors.add(:anwser, Réponse fausse) unless result_valid?
  end

  def result_valid?
# Ta méthode validate dans ton contrôleur.
  end

  def enunciated
   # Même chose que dans ton helper.
  end
end

À partir de ça, dans ton contrôleur, tu n'a juste a changer la
classe instanciée. Tu peux ensuite utiliser la méthode
@exo.enunciated dans ta vue, à la place de ton helper.

Avec l'héritage tu auras une base comme ceci :

class Exo
  # ...

  def result_valid?
# une validation par défaut si tu en a
  end
  def enunciated
# un énoncé par défaut si tu en a
   end
end

et des classes enfants comme ceci :

class ExoDiscriminant  Exo
  def result_valid?
 # Validation spécifique pour les discrimiants
  end

  def enunciated
# Énoncé spéfique
  end
end

Est-ce que tu vois ce que je veux dire ?

Le 15 avril 2015 12:34, Philippe Demaria demaria@lfbogota.com
javascript: a écrit :

Justement, je ne voudrais pas passer par le stockage en bdd.
les exercices étant alétoires, je ne veux pas utiliser
d'enregistrement en base de données. Comme cela avec un type
d'exo, j'ai une infinité d'exo.
Je vais potasser ton tuto rails : samurails.
Mais comme je vais avoir à peu près 1000 types d´exo
différents, j'essaie tout de suite de partir bien.

Je ne comprends pas trop  ton idée :
/D'après ce que je comprend, tu as uniquement le helper et la
validation qui change/. OUI
/La première chose à faire, ça serait de ramener ces deux
éléments dans le modèle/. Dans quel model ?
/Ta vue, ton controlleur et ton helper seront donc tous les
même. /Comment peuvent ils être les mêmes ?

Je dois un peu potasser.


Le mercredi 15 avril 2015 09:26:12 UTC-5, Guirec Corbel a écrit :

Apparemment oui mais la solution est variables car les
variables ( au sens mathématique ) sont aléatoires. Les
solutions doivent donc êtres calculées.

Ça serait possible de stocker la formule dans la base de
données et de l’exécuter en faisant une interpolation des
variables. Si le chaîne @a + @b - @c est stockée, tu
peux faire un eval de cette chaîne pour vérifier le
résultat avec les variables. Je pense que ça peut fonctionner.

Le 15 avril 2015 10:20, thierry henrio
thierry...@gmail.com a écrit :

2015-04-15 16:02 GMT+02:00 Philippe Demaria
demaria@lfbogota.com:

Voici les fichiers pour le calculs de relatifs par
exemple.
le model est le même

Est-ce qu'un exercice a une seule 

Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet Philippe Demaria
Je vois ce que tu veux dire mais il y a une validation pour chaque exo.
Donc la méthode   def result_valid? n'est pas unique. 

Donc je ne peux rien mettre dedans

  def result_valid?
# Ta méthode validate dans ton contrôleur.   Je garde alors mon 
controller avec la méthode dedans. c'est ça ?
 * end *

*  def enunciated*
*   # Même chose que dans ton helper.  *Lequel ? J'ai un helper par exo !
*  end*



Le mercredi 15 avril 2015 11:47:01 UTC-5, Guirec Corbel a écrit :

 Je vais te donner un exemple potentiel (non testé) pour ton code.

 class ExoDiscriminant
   include Mongoid::Document
   include Mongoid::Timestamps

   field :title, type: String
   field :text, type: String
   field :help, type: String
   field :time, type: Integer
   field :reponseStudent, type: Integer
   field :a, type: Integer
   field :b, type: Integer
   field :c, type: Integer
   field :d, type: Integer

   validates :title, presence: true
   validates :text, presence: true
   validates :time, presence: true
   validates :help, presence: true
   validates :reponseStudent, presence: true, on: :validation

   validate :valid_answer, on: :update
  
   def valid_answer
 errors.add(:anwser, Réponse fausse) unless result_valid?
   end

   def result_valid?
 # Ta méthode validate dans ton contrôleur. 
   end 

   def enunciated
# Même chose que dans ton helper.
   end
 end

 À partir de ça, dans ton contrôleur, tu n'a juste a changer la classe 
 instanciée. Tu peux ensuite utiliser la méthode @exo.enunciated dans ta 
 vue, à la place de ton helper.

 Avec l'héritage tu auras une base comme ceci :

 class Exo
   # ...

   def result_valid?
 # une validation par défaut si tu en a
   end
  
   def enunciated
 # un énoncé par défaut si tu en a
end
 end

 et des classes enfants comme ceci :

 class ExoDiscriminant  Exo
   def result_valid?
  # Validation spécifique pour les discrimiants
   end

   def enunciated
 # Énoncé spéfique
   end
 end

 Est-ce que tu vois ce que je veux dire ?

 Le 15 avril 2015 12:34, Philippe Demaria demaria@lfbogota.com 
 javascript: a écrit :

 Justement, je ne voudrais pas passer par le stockage en bdd. 
 les exercices étant alétoires, je ne veux pas utiliser d'enregistrement 
 en base de données. Comme cela avec un type d'exo, j'ai une infinité d'exo.
 Je vais potasser ton tuto rails : samurails.
 Mais comme je vais avoir à peu près 1000 types d´exo différents, j'essaie 
 tout de suite de partir bien.

 Je ne comprends pas trop  ton idée :
 *D'après ce que je comprend, tu as uniquement le helper et la validation 
 qui change*. OUI
 *La première chose à faire, ça serait de ramener ces deux éléments dans 
 le modèle*. Dans quel model ?
 *Ta vue, ton controlleur et ton helper seront donc tous les même. *Comment 
 peuvent ils être les mêmes ? 

 Je dois un peu potasser.


 Le mercredi 15 avril 2015 09:26:12 UTC-5, Guirec Corbel a écrit :

 Apparemment oui mais la solution est variables car les variables ( au 
 sens mathématique ) sont aléatoires. Les solutions doivent donc êtres 
 calculées.

 Ça serait possible de stocker la formule dans la base de données et de 
 l’exécuter en faisant une interpolation des variables. Si le chaîne @a + 
 @b - @c est stockée, tu peux faire un eval de cette chaîne pour vérifier 
 le résultat avec les variables. Je pense que ça peut fonctionner.

 Le 15 avril 2015 10:20, thierry henrio thierry...@gmail.com a écrit :

 2015-04-15 16:02 GMT+02:00 Philippe Demaria demaria@lfbogota.com:

 Voici les fichiers pour le calculs de relatifs par exemple.
 le model est le même

 Est-ce qu'un exercice a une seule solution ?

 ?, Thierry

 -- 
 -- 
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance 
 de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
 l'adresse rails...@googlegroups.com
 Pour résilier votre abonnement envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com
 --- 
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
 concernant, envoyez un e-mail à l'adresse railsfrance...@
 googlegroups.com.
 Pour obtenir davantage d'options, consultez la page 
 https://groups.google.com/d/optout.


  -- 
 -- 
 Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance 
 de Google Groups.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
 rails...@googlegroups.com javascript:
 Pour résilier votre abonnement envoyez un e-mail à l'adresse 
 railsfrance...@googlegroups.com javascript:
 --- 
 Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
 Railsfrance.
 Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le 
 concernant, envoyez un e-mail à l'adresse railsfrance...@googlegroups.com 
 javascript:.
 Pour obtenir davantage d'options, consultez la page 
 https://groups.google.com/d/optout.




-- 
-- 
Vous avez reçu ce 

Re: [RailsFr] Débutant...Comment utiliser une vue pour plusieurs controllers ?

2015-04-15 Par sujet Philippe Demaria
Dans ma vue show, j'ai 
%= simple_form_for @exo_alea, :url = {:controller = exo_aleas, :action 
= validation},  defaults: { label: false } do |f| %

Dans le cas utilisé danbs mon précédent post, 
je dois changer :url = {:controller = exo_aleas, :action = 
validation}. Je mets quoi à la place ?

Merci.



Le mercredi 15 avril 2015 19:05:26 UTC-5, Philippe Demaria a écrit :

 D'après ce que je comprends : 

 Considérons que je veux créer 1000 exercices aléatoires

 *... eh oui !Model :*
 je crée un model générique :

 class ExoAlea
   include Mongoid::Document
   include Mongoid::Timestamps

   field :title, type: String
   field :text, type: String
   field :help, type: String
   field :time, type: Integer
   field :reponseStudent, type: Integer
   field :a, type: Integer
   field :b, type: Integer
   field :c, type: Integer
   field :d, type: Integer

   validates :title, presence: true
   validates :text, presence: true
   validates :time, presence: true
   validates :help, presence: true
   validates :reponseStudent, presence: true, on: :validation

   validate :valid_answer, on: :update
  
   def valid_answer
 errors.add(:anwser, Réponse fausse) unless result_valid?
   end

   def result_valid?
 #  une validation par défaut
   end 

   def enunciated
#  un enoncé par défaut
   end
 end

 puis un model par exercice spécifique :
 class ExoDiscriminant  ExoAlea
   def result_valid?
  # Validation spécifique
   end

   def enunciated
 # Énoncé spéfique
   end
 end

 *Question 1 : Donc si j'ai 1000 exos, j'aurais 1000 models specifiques ?*

 *Views*
 Dans ma vue show , j'utilise la méthode @exoAlea.enunciated et j'enlève le 
 helper. 
 J'aurai donc une seule vue pour tous mes 1000 exercices. C'est top ! 


 *Question 2 : Ma vue show.html.erb doit être dans le dossier app/exoAlea ? 
 ou dans le dossier app/Exo_discriminant ? ou dans layout ?*

 *Controller *

 Comment se nomme ce controller ? exo_alea_controller ou 
 exo_discriminant_controller ? 

 Dans le contrôleur, te me dis tu n'a juste a changer la classe 
 instanciée.
 Si je comprends bien c'est le controller qui se nomme exo_alea_controller.
 Dans ce controller, comment je change la classe instanciée ? je peux la 
 nommée @exoAlea.enunciated ?

 *Question 3 : J'ai un unique controller ou 1000 controllers ?*

 *Question 4 : Est ce que le controller resemble donc à ça ?*

 class ExoAleaController  ApplicationController
   before_action :set_exo_alea, only: [:show, :edit, :update, :destroy, 
 :validation]

   # GET /exo_alea 
   # GET /exo_alea.json
   def index
 @exo_alea= ExoAlea.all
   end

   # GET /exo_alea/1
   # GET /exo_alea/1.json
   def show
 @exo_alea= ExoAlea.find(params[:id])
 @a=rand(20)-rand(20)
 @b=rand(2..7)
 @c=rand(20)-rand(20)
 @d=rand(2..7) 
   end

   # GET /exo_alea/new
   def new
 @exo_alea= ExoAlea.new
   end

   # GET /exo_alea/1/edit
   def edit
   end

   # POST /exo_alea  
   # POST /exo_alea.json
   def create
 @exo_alea= ExoAlea.new(exo_alea_params)

 respond_to do |format|
   if @exo_alea.save
 format.html { redirect_to @exo_alea, notice: 'Exo sumfraction was 
 successfully created.' }
 format.json { render :show, status: :created, location: 
 @exo_sumfraction }
   else
 format.html { render :new }
 format.json { render json: @exo_alea.errors, status: 
 :unprocessable_entity }
   end
 end
   end

   # PATCH/PUT /exo_sumfractions/1
   # PATCH/PUT /exo_sumfractions/1.json
   def update
 respond_to do |format|
   if @exo_alea.update(exo_alea_params)
 format.html { redirect_to @exo_alea, notice: 'Exo alea was 
 successfully updated.' }
 format.json { render :show, status: :ok, location: @exo_alea}
   else
 format.html { render :edit }
 format.json { render json: @exo_alea.errors, status: 
 :unprocessable_entity }
   end
 end
   end

   # DELETE /exo_alea/1
   # DELETE /exo_alea/1.json
   def destroy
 @exo_sumfraction.destroy
 respond_to do |format|
   format.html { redirect_to exo_alea_url, notice: 'Exo alea was 
 successfully destroyed.' }
   format.json { head :no_content }
 end
   end

 private

 def set_exo_alea
   @exo_sumfraction = ExoSumfraction.find(params[:id])
 end

 def exo_alea_params
   params.require(:exo_alea).permit(:title, :text, :help, :string, 
 :time)
 end

 end

 Bon quand tu auras répondu à ces 4 questions, j'espère que tu m'auras 
 donné la solution.

 Merci infiniment.











-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe Railsfrance de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
railsfrance@googlegroups.com
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
railsfrance-unsubscr...@googlegroups.com
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et