2010-11-08 8 views
10

Kullanıcıların # show sayfasını adlandırılmış bir rotadan (http: // localhost: 3000) erişmeye çalıştığımda hata alıyorum/profile /) ... aksi takdirde standart url (http: // localhost: 3000/users/current) ile erişmeye çalıştığımda hiç hatam yok. Eğer rotaları rotaya koyarsam rotalar doğru görünüyor ve standart url ile çalıştığı için hiçbir rota eşleşme hatası almama neden olduğuna dair hiçbir fikrim yok. Ne zaman erişmeye çalışmıyorum, neden rotayı bulmaya çalışırken 'yok et' eylemi eşleştirmeye çalışıyor?Hiçbir yol eşleşmiyor {: 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 

Hata alıyorum: sen istemiyorsanız

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

Yolları düzenle/göster/yok id parametresi gerektirir ... ie edit_user_path (current_user.id) ... Eğer bu şekilde yapmak istemezseniz, rotalarınızı kaynak kullanmanız gerekir: user (Kaynaklar yerine: kullanıcı) bu doğru yapmazsanız yolun aşağısında baş ağrısına neden olur. – jenjenut233

+0

Tks bunu bir cevap olarak yazabilir, bu yüzden onaylayabilirim, çok şey yazabilirim! – plehoux

cevap

24

Düzenleme/gösteri/imha/güncelleme yolları ... ... yani edit_user_path (current_user.id) bir kimlik parametresi gerektirir Bu şekilde, rotalarınızı kaynak kullanmanız gerekecek şekilde yapın: Kullanıcı (kaynak yerine: kullanıcı), eğer doğru yapmazsanız yolun aşağısında bir sürü baş ağrısına neden olacaktır.