Jean-François Trân wrote:
> Raph indiscret :
>> Ouai je vois. Normal. En fait pour tout dire je fait ce projet pour mon
>> boulot et j'ai chang� les noms pour les mettre en fran�ais
>> premi�rement et pour ne pas d�voiler d'informations
>> confidentielles.
>> Je vais m'appliquer cette fois ci en copiant le code et en
>> changeant les noms:
>
>> <p><label for="profil_email"><B>Email</B></label><br/>
>> <TD><input type='text' name='email_0' size="30" %>'/></TD>
>
> Cette ligne a un probl�me. J'ai pas compris tout de suite, mais il manque
> un <%= en fait.
>
> [...]
>>
>> <div id="extra_emails">
>> <% render :partial => "ajout_emails" %>
>> </div>
>
> Il manque un = (� moins qu'il ne rel�ve d'informations
> confidentielles).
>
> [...]
>> for i in 0..nombre_emails
>> @profile.source<<Source.new(:email=>params['email_'+i.to_s])
>
> Je ne comprends toujours pas cette ligne. On a Profile
> has_many :sources ? Il est o� le s ?
>
> -- Jean-Fran�ois.
>
> --
> Ruby ( http://www.rubyfrance.org ) on Rails ( http://www.railsfrance.org
> )
Enfin j'ai compris ton histoire de 's' pour source.
et il aurait fallut un = dans le <% render... %> pour afficher le truc
ouai mais en fait je ne veux pas afficher le champ d'un nouvel email
directement donc c'etait une erreur qui m'arrangeait, Donc je pense que
ca ne sert a rien de laisser le render dans new.rhtml. Et puis le '%>'
était un résidu de value, la valeur par défaut que j'ai rétiré.
Donc troisième essais (merci pour ta patience):
Dans new.rhtml:
<p><label for="nom"><B>Nom</B></label><br/>
<%= text_field 'profil', 'nom' %>
</p>
<p><label for="num_telephone"><B>Numéro de Téléphone</B></label><br/>
<%= text_area 'profil', 'telephone' %>
</p>
<p><label for="profil_email"><B>Email</B></label><br/>
<TD><input type='text' name='email_0' size="30"></TD>
<TD><%=link_to_remote( "Ajouter une adresse email",
:update=>"extra_emails",
:url=>{:action=>"ajout_emails"},
:position => "before")
%>
</TD>
</p>
<div id="extra_emails"></div>
Dans le controller:
def ajout_emails
session[:nombre_emails] =
session[:nombre_emails]? session[:nombre_emails]+1 : 1
@nombre_emails=session[:nombre_emails]
render :partial => "ajout_emails"
end
def new
session[:nombre_emails]=nil
end
def create
@profile = Profile.new(:title=>params[:profile][:nom],
:description=>params[:profile][:telephone]
)
nombre_emails = session[:nombre_emails]?
session[:nombre_emails].to_i : 0
0.upto(nombre_emails) do |i|
@profile.sources<<Source.new(:email=>params['email_'+i.to_s])
end
if @profile.save
flash[:notice] = 'Profile sauvé.'
redirect_to :action => 'menu'
else
session[:nombre_emails]=0
render :action => 'new'
end
end
dans _ajout_email.rhtml:
<p>
<TD><input type='text' name='email_<%= @nombre_emails %>'
size="30"></TD>
<TD><%=link_to_remote( "Ajouter une adresse email",
:update=>"extra_emails",
:url=>{:action=>"ajout_emails"},
:position => "before")
%>
</TD>
</p>
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
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]
-~----------~----~----~----~------~----~------~--~---