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]
