2016-11-14 3 views
2

Je construis une application Rails et je fais un formulaire avec form_for. Je continue à recevoir l'erreur qu'il n'y a pas de correspondance de route pour ce que j'ai spécifié, mais quand je cours des routes de rake, je vois la route que je spécifie (ou du moins je pense que je fais). Quelqu'un peut-il aider?Aucune route ne correspond à l'erreur

Mon tag form_for est:

<%=form_for @party, :url => { :action => "update", :controller=>"parties", :method=>"patch" } do |f| %> 

Et dans mon partis contrôleur j'ai:

def update 
    @party.find(params[:id]) 
    @party.update_attributes 

    if @party.save 
    redirect_to '/login' 
    end 
    end 

En outre, mes itinéraires pour le modèle du parti sont vus ci-dessous: enter image description here

+0

Essayez ceci: '<% = form_for @party,: url => {: action => "mise à jour",: controller => "parties"},: method => "patch" do | f | %> ' – dp7

+0

Je reçois le même message d'erreur. Aussi la même chose si j'essaie "put" au lieu de "patch"! – bjorkland

+0

Pouvez-vous poster la trace complète de la pile de l'erreur? – dp7

Répondre

0

Si Si vous omettez les options, les rails détermineront s'il s'agit d'un formulaire de création/mise à jour. Sinon, vous devrez avoir des formulaires séparés pour créer/mettre à jour si vous spécifiez des options.

<%= form_for @parties do |f| %> 
... 
<% end %>