Rails 3 application ne correspond pas à une route même si itinéraires de rake le montre

StackOverflow https://stackoverflow.com/questions/4703936

  •  11-10-2019
  •  | 
  •  

Question

Voici une partie de mon dossier de routes:

resource :vendor do post 'modify_account' end

Exécution des routes râteau va générer la ligne suivante

           modify_account_vendor POST   /vendor/modify_account(.:format)                               {:action=>"modify_account", :controller=>"vendors"}
                          vendor POST   /vendor(.:format)                                              {:action=>"create", :controller=>"vendors"}
                      new_vendor GET    /vendor/new(.:format)                                          {:action=>"new", :controller=>"vendors"}
                     edit_vendor GET    /vendor/edit(.:format)                                         {:action=>"edit", :controller=>"vendors"}
                                 GET    /vendor(.:format)                                              {:action=>"show", :controller=>"vendors"}
                                 PUT    /vendor(.:format)                                              {:action=>"update", :controller=>"vendors"}
                                 DELETE /vendor(.:format)                                              {:action=>"destroy", :controller=>"vendors"}
                                        /vendor(.:format)                                              {:action=>"account", :controller=>"vendors"}

Je peux charger le formulaire et vérifier l'URL est correcte dans l'action de la forme, mais quand je soumets, l'application renvoie une erreur:

No route matches "/vendor/modify_account"

Toutes les suggestions quant à ce que je peux faire pour résoudre les problèmes? Firebug vérifie que la page d'erreur est de type POST.

Était-ce utile?

La solution 2

Comme il se trouve, je crois que la question était de mon choix de « verbe d'action » - Je l'ai utilisé PUT au lieu de POST. Ceci est mon nouveau fichier de routes, et la seule chose que je devais changer était le nom de la méthode d'aide _url.

resource :vendor do put 'account', :action => 'modify_account' end

Autres conseils

J'ai eu un problème simular avec une ressource singleton, vérifiez que vous passez dans l'URL pour la form_tag, nous utilisons simple_form et ont les éléments suivants

<%= simple_form_for @enterprise_account, :url => enterprise_account_path do |f| -%>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top