j ai suivi t'es conseil à la lettre nicolas , j ai recrée un controller du
nom de users et un model du nom de user pour mieux voir , j ai changer le
nom de toutes les variables dans le controller par @user que voici :
seulement je ne parvient pas à trouver la source de mon problème

1: class UsersController < ApplicationController
2:
3:   def new
4:    @user = User.new
5:  end
6:
7:  def create
8:
9:   @user = User.new(params[:login_user])
 10:  respond_to do |format|
 11:   if @user.save
 12:    flash[:notice]= "Utilisateur #[email protected]_user} à ete créer."
 13:
 14:  format.html { redirect_to(:action=>:index) }
 15:  else
 16:     format.xml { render :xml => @user.errors  }
 17:   end

j ai ajouter les 3 routes suivantes  dans ma table routes.rb

  map.connect '', :controller => 'users', :action => 'index'
  map.ressource :users
  map.root :controller => 'users', :action => 'new'

encore merci de ton aide  j ai acheter une livre sur ruby on rails  qui se
nome Ruby et Rails le guide Ruby des développeurs Rails que voici
http://www.amazon.fr/Ruby-Rails-David-Black/dp/274402127X  personnellement
je suis déçue de ce livre il n'arrête pas de passer du langage ruby au
frameworks rails, les explication ne sont pas très descriptive.
connaitrais tu par hasard un bon livre sur Ruby on Rails..

encore merci de ton aide nicolas


Le 26 octobre 2010 23:09, Nicolas Blanco <[email protected]> a écrit :

> yo.
> si tu lis n'importe quelle documentation sur rails on t'explique
> qu'une table "users" est reliée à un modèle User, qu'une table "posts"
> est relié à un modèle Post, etc. Tu vois la logique ? si tu crée une
> table "enregistrement", elle ne va pas être reliée par magie à ton
> modèle User...
>
> De plus, gérer la création des users a la main n'est pas une bonne
> chose, il y a des librairies pour cela comme "devise". Mais vu que tu
> as l'air de totalement débuter en Rails, mieux vaut que tu commences à
> faire une appli sans gestion des users... Cela risque d'être déjà trop
> compliqué de mettre en place un Devise...
>
> Nicolas.
>
> 2010/10/26 olivi morel <[email protected]>:
> > bonsoir
> > je me retourne vers vous car je n'arrive pas à résoudre mon problème :(
> une
> > chose que j ai oublier de dire dans le mail d'hier soir je ne sais pas
> très
> > bien quoi mètre dans mon modèle que voici d'ailleur :
> >
> > 1: class User < ActiveRecord::Base
> > 2:  validates_presence_of :login_user, :password, :mail
> > 3:
> > 4:    def create_new_user
> > 5:
> > 6:   end
> > 7: end
> >
> > j ai rectifié mes petites erreur que nicolas ma signaler , je te remercie
> au
> > passage pour ton aide
> > voici le schéma au cas ou .
> >
> > ctiveRecord::Schema.define(:version => 0) do
> >
> >   create_table "enregistrement", :force => true do |t|
> >     t.string "login_user", :limit => 30, :null => false
> >     t.string "password",   :limit => 40, :null => false
> >     t.string "mail",       :limit => 50, :null => false
> >   end
> >
> > merci ç tous pour votre aide
> >
> > Le 26 octobre 2010 01:30, Nicolas Blanco <[email protected]> a écrit :
> >>
> >> Salut,
> >> pas besoin de répéter que tu débutes, on a compris :p.
> >> Non, plus gentillement et pour répondre à ta question, si t'as une
> >> exception Called id for nil dans une vue au niveau d'un form_for c'est
> >> tout simplement que Rails ne "retrouve" pas ta variable (ta variable
> >> vaut nil). En gros ça veut dire que ta variable est mal déclarée dans
> >> le contrôleur (ou encore que l'action où tu déclares ta variable n'est
> >> pas celle exécutée par ta vue !). Tu peux inspecter ton retour serveur
> >> pour voir ce qui est exécuté réellement, ou encore apprendre à
> >> débugger
> >> (http://guides.rubyonrails.org/debugging_rails_applications.html).
> >>
> >> D'autres choses :
> >> 1)  @user = enregistrement.new => Pardon ? enregistrement ? avec un
> >> "e" minuscule ? t'es censé instancier une classe là, et les noms de
> >> classe en Ruby ont une majuscule et sont en CamelCase.
> >>
> >> 2) Ne mets jamais (JAMAIS) de noms de variables en français dans ton
> >> soft. Si tu montres un EnregistrementController à un dev Rails avancé
> >> il rigolera et si tu le montres à personne c'est toi qui rigolera dans
> >> 2 ans quand tu retombera sur ton code. En gros ça fait amateur et trop
> >> Windev-style.
> >>
> >> 3)  @user = enregistrement.new(params[:login_user]) => en plus du
> >> "enregistrement" (voir point 1), ton params[:login_user] il sort d'où
> >> ? Si ton formulaire est déclaré comme form_for @user, tu récupères
> >> params[:user]... Regarde comment est fait un scaffold en Rails.
> >>
> >> Courage..! Et n'oublie pas http://guides.rubyonrails.org/
> >>
> >> Nicolas.
> >>
> >> 2010/10/26 olivi morel <[email protected]>
> >> >
> >> > bonjour
> >> > avant tout je tiens à préciser que je suis un débutant en ruby on
> rails
> >> >
> >> > j'essaye de réaliser un formulaire d'enregistrement avec un login ,
> mail
> >> > , password.
> >> > seulement voila quand j'exécute mon apli il me dit ceci que je ne
> >> > comprend pas
> >> >
> >> > Called id for nil, which would mistakenly be 4 -- if you really wanted
> >> > the id of nil, use object_id
> >> >
> >> > Extracted source (around line #11):
> >> >
> >> > 8:    <body>
> >> > 9:            <fieldset>
> >> > 10:                   <legend> Session d'enregistrement</legend>
> >> > 11:                   <% form_for @user do |form| %>
> >> > 12:                   <%= form.error_messages %>
> >> > 13:                   <p>
> >> >
> >> > 14:                           <%= form.label 'Login:' %>
> >> >
> >> >
> >> > voici mon controller enregistrement_controller.rb
> >> >
> >> > 1:class EnregistrementController < ApplicationController
> >> > 2:
> >> > 3:  def new
> >> > 4:    @user = enregistrement.new
> >> >
> >> > 5:  end
> >> > 6:
> >> > 7:  def create
> >> > 8:   @user = enregistrement.new(params[:login_user])
> >> > 9: respond_to do |format|
> >> > 10:     if @user.save
> >> > 11:       flash[:notice]= "Utilisateur #[email protected]_user} à ete
> créer."
> >> >
> >> > 12:
> >> > 13:           format.html { redirect_to(:action=>:index) }
> >> > 14:        else
> >> > 15:           format.xml { render :xml => @user.errors  }
> >> > 16:    end
> >> > 17:   end
> >> > 18: end
> >> >
> >> > et voici deux session ci je pus dire de ma vue enregistrement
> >> >
> >> >
> >> > 1:<fieldset>
> >> > 2:                    <legend> Session d'enregistrement</legend>
> >> > 3:                    <% form_for @user do |form| %>
> >> > 4:                    <%= form.error_messages %>
> >> > 5:                    <p>
> >> > 6:                            <%= form.label 'Login:' %>
> >> >
> >> > 7:                            <%= form.text_field :login_user, :size
>  =>
> >> > 40 %>
> >> > 8:                    </p>
> >> > 9:
> >> > 10:                   <p>
> >> > 11:                           <%= form.label 'Password:' %>
> >> > 12:                           <%= form.password_field :password, :size
> >> >  => 40 %>
> >> >
> >> > 13:                   </p>
> >> > 14:
> >> > 15: end
> >> >
> >> >
> >> > je tiens à tous vous remercier pour votre aide, mais aussi à vous êtes
> >> > penchés sur mon problème
> >> > alors 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
> >> > [email protected]
> >> > Pour résilier votre abonnement envoyez un e-mail à l'adresse
> >> > [email protected]
> >>
> >>
> >> --
> >> Nicolas Blanco, Web developper
> >>
> >> http://www.nicolasblanco.fr
> >> Jabber/GoogleTalk : [email protected]
> >> Twitter : http://twitter.com/slainer68
> >> Github : http://github.com/slainer68
> >> Skype : slainer68
> >>
> >> --
> >> 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
> >> [email protected]
> >> Pour résilier votre abonnement envoyez un e-mail à l'adresse
> >> [email protected]
> >
> > --
> > 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
> > [email protected]
> > Pour résilier votre abonnement envoyez un e-mail à l'adresse
> > [email protected]
>
>
>
> --
> Nicolas Blanco, Web developper
>
> http://www.nicolasblanco.fr
> Jabber/GoogleTalk : [email protected]
> Twitter : http://twitter.com/slainer68
> Github : http://github.com/slainer68
> Skype : slainer68
>
> --
> 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
> [email protected]
> Pour résilier votre abonnement envoyez un e-mail à l'adresse
> [email protected]
>

-- 
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 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
[email protected]

Répondre à