2011-01-17 2 views
1

J'ai un rendu très simple qui va comme suit:Rails 3: Impossible d'obtenir form_for pour travailler comme « supprimer » après la RESTful achitecture => donnant toujours une erreur ROUTAGE

<%= form_for(:relationships, :url => relationships_path, :html => {:method => 'delete'}) do |f| %> 
<div><%= f.hidden_field :user_id_to_unfollow, :value => @user.id %></div> 
<div class="actions"><%= f.submit "Unfollow" %></div> 
<% end %> 

Quand je soumets ce formulaire, il me donnera toujours un

Routing Error 
No route matches "/relationships" 

sur ma page.

Dans mon contrôleur relations, j'ai créé l'ensemble des méthodes de ProPers:

def create  
... 
end 

def destroy  
... 
end 

def update  
... 
end 

def show  
... 
end 

Et dans mes voies config je me suis assuré de permettre à tous les itinéraires pour le contrôleur des relations

resources :relationships 

Mais je ne peut pas sembler entrer dans la méthode de détruire du contrôleur :(

Cependant si je supprime le

:html => {:method => 'delete'} 

paramètre de la méthode dans la forme_for alors j'arrive à la méthode de création du contrôleur pas de pb.

Je ne comprends pas ....

Alex

ps: ce sont les itinéraires de rake résultats pour les relations:

relationships GET /relationships(.:format)   {:action=>"index", :controller=>"relationships"} 
       POST /relationships(.:format)   {:action=>"create", :controller=>"relationships"} 

Répondre

4

Vous devez mentionner la delete demande de ressource unique url par exemple. relationships/4325. Exécutez rake routes pour voir quelles combinaisons d'URL/verbes sont valides.

--edit

Routes pour les ressources de la relation:

resources :relationships, :only => [:index, :create, :destroy] 

bouton Unfollow (crée une forme pour lui-même):

= button_to "Unfollow", relationship_path(relationship), :method => 'delete' 
+0

Ok, je vois ce que tu veux dire? Mais comment ferais-je cela? Je ne vois pas désolé ... Je ne sais pas quoi changer pour créer cette route détruire. – Alex

+0

@Alex: exemples ajoutés – Heikki

+0

Ohh woa .. qui a fonctionné comme un charme! Merci beaucoup ! – Alex