2010-12-02 8 views
1

J'ai cette forme:Rails 3 form_for aide ne pas soumettre l'action correctement

<% @page_title = "Delete Technician: #{@technician.name}" %> 

<%= link_to("<< Back to List", {:action => 'list', :id => @technician.id}, :class => 'back-link') %> 

<div class="technician delete"> 
<h2>Delete Technician</h2> 

<%= form_for(:technician, :url => {:action => 'destroy', :id => @technician.id}) do |f| %> 

<p>Are you sure you want to permanently delete this technician?</p> 

<p class="reference-name"><%= @technician.name %></p> 

<div class="form-buttons"> 
    <%= submit_tag("Delete Technician") %> 
</div> 

<% end %> 
</div> 

lorsque je clique sur le bouton Envoyer c'est l'URL que je reçois:
www.site.com/technicians/1

au lieu de
www.site.com/technicians/destroy/1

Je ne suis en utilisant l'aide form_for correctement ou est-il une configuration quelque part?

Répondre

0

Vous rendez cela plus compliqué que nécessaire. Il n'y a pas de raison pour un formulaire quand un lien ou un bouton ferait l'affaire. Pourquoi pas juste cela

<p>Are you sure you want to permanently delete this technician</p> 
<div> <%= link_to "Delete", technician_path(@technician), :method => :delete %> </div> 

C'est tout.

+0

J'ai copié et collé votre code mais il continue de diriger vers/technicians /: id au lieu de /technicians/:action/:id ... Je suis allé à routes.rb et mettre "match" techniciens /: id '=> "techniciens # détruisent" ". cela fonctionne mais ne semble pas être un moyen éloquent de le faire ... merci pour votre réponse si ... –

+0

Puis-je avoir un meilleur aperçu de votre fichier routes.rb? –

+0

Oh, et si c'est une ressource, alors, vous devriez utiliser/technicians /: id /: action et non/technicians /: action /: id, car l'idée est que l'action apporte une représentation de la ressource. –

Questions connexes