2010-11-08 11 views
10

Viene visualizzato un errore quando provo ad accedere agli utenti # show page tramite una route denominata (http: // localhost: 3000/profile /) ... altrimenti non ho alcun errore quando provo ad accedervi con l'url standard (http: // localhost: 3000/users/current). Se eseguo il routing delle rotte, le route sembrano corrette e poiché funziona con l'url standard, non ho idea di perché ottengo l'errore No match matchs. Quando si cerca di trovare la rotta per l'azione "distruggi" quando non cerco nemmeno di accedervi?Nessuna corrispondenza corrisponde a {: action => "destroy",: controller => "users"}

Starcast::Application.routes.draw do 

    match "login" => 'user_sessions#new', :as => :login 
    match "logout" => 'user_sessions#destroy', :as => :logout 
    resources :user_sessions 

    match "profile" => 'users#show' 
    resources :users 

    resources :casters 
    resources :casts 
    resources :orders 

    root :to => "home#index" 

end 

errore ottengo:

ActionView::Template::Error (No route matches {:action=>"edit", :controller=>"users"}): 
    1: <% title "Welcome #{@user.username}" %> 
    2: 
    3: <%= link_to "Edit your profil", edit_user_path %> 
    4: 
    5: <% has_role? :caster do %> 
    6: <% if @user.caster %> 
    app/views/users/show.html.erb:3:in `_app_views_users_show_html_erb___2116234531537545622_2170017780__3613739707062673465' 
+1

Modificare/mostrare/distruggere percorsi richiedono un parametro id ... vale a dire edit_user_path (current_user.id) ... Se non si desidera farlo in questo modo è necessario rendere i percorsi utilizzare la risorsa: utente (invece di risorse: utente) che causerà un sacco di mal di testa in fondo alla strada se non lo fai bene. – jenjenut233

+0

Tks potresti scriverlo come risposta così posso confermarlo, tks molto! – plehoux

risposta

24

Modifica/show/distruggere i percorsi/aggiornamento richiedono un parametro id ... cioè edit_user_path (current_user.id) ... Se non si desidera fai in questo modo che devi rendere i tuoi percorsi utilizzare la risorsa: utente (invece di risorse: utente) che causerà un sacco di mal di testa in fondo alla strada se non lo fai bene.

Problemi correlati