2010-06-04 7 views
0

Je voudrais créer un champ de connexion partout sur le haut de ma page, alors j'ai ajouter un:modèle partiel submit_tag

dans application.html.erb:

<%= render :partial => 'sessions/new' %> 

en .. ./views/sessions/_new.html.erb

<%= form_tag do %> 
    <div> 
    <label for="name">Email :</label> 
    <%= text_field_tag :name, params[:name] %> 
    <label for="password">Mot de passe :</label> 
    <%= password_field_tag :password, params[:password] %> 
    </div> 

    <div> 
    <%= submit_tag "Connection" %> 
    </div> 
</fieldset> 

Mais c'est un travail que si je suis dans un contrôleur de sessions lorsque je teste dans mon navigateur, Je pense que:

<%= submit_tag "Connection" %> 

fait référence à son contrôleur de courant (sessions) qui est pourquoi il est ne fonctionne pas dans les annonces/index, mais faire son exemple travail dans les sessions/index.

Que puis-je faire? Dois-je spécifier le contrôleur dans submit_tag?

Merci beaucoup :)

Répondre

0

Vous devez dire la balise form l'URL que le formulaire doit soumettre. Peut-être par défaut, il se soumet à l'action en cours ou quelque chose? Vous ne devriez jamais compter sur le défaut, quel qu'il soit.

Lire l'api http://railsbrain.com/api/rails-2.3.2/doc/index.html?a=M002551&name=form_tag

oh et btw la soumettre balise est juste un bouton, il n'a rien à voir avec la raison pour laquelle la forme ou ne fonctionne pas. Il y a beaucoup de confusion chez les débutants sur les formes - beaucoup de gens ne comprennent pas vraiment comment fonctionnent les formes. Avant d'utiliser des aides-rails, je vous recommande fortement de faire votre formulaire en HTML pur. De cette façon, vous comprendrez ce qui se passe réellement, et les aides à la forme seront justes, c'est-à-dire «des choses qui vous aident à faire quelque chose plus rapidement» plutôt que d'être ces choses magiques qui vous laissent complètement tomber. vous vous attendez.

+0

Merci :) Je t'aime aussi – akam

0

Vous devez spécifier le contrôleur, mais sur le form_tag pas submit_tag

par exemple <%= form_tag :controller => 'sessions', :action => 'new' %>

+0

Merci! J'aime U :) – akam