2010-11-18 14 views
1

Ben tüm aşağıdaki URL'ler çalışmalar yapma ve nasılKO - kontrolörü

http://localhost:3000/dashboard/

Routing Error No route matches "/dashboard"

ama http://localhost:3000/dashboard/index eserler doğru URL için bu hatayı alıyorum dizin yöntemi aynı görünümünü gösterir views/dashboard/index.html.erb

http://localhost:3000 
http://localhost:3000/ 
http://localhost:3000/dashboard 
http://localhost:3000/dashboard/ 
http://localhost:3000/dashboard/index 

Benim yolları dosya

olduğunu
Mytest::Application.routes.draw do 
    get "dashboard/index" 
    root :to => "dashboard#index" 
end 

Benim denetleyicisi dosyası Ayrıca /:controller/:action/:id(.:format) tarzı jenerik yol ekleyebilirsiniz

class DashboardController < ApplicationController 
    def index 

    end 

end 

cevap

5
Mytest::Application.routes.draw do 
    match "/dashboard", :to => 'dashboard#index' 
    root :to => "dashboard#index" 
end 

olduğunu.

+0

daha standart yapabiliriz: kontrolör /: action /: id'' aşağıdaki hata var raylar sunucusunu 'raylar sunucusu '/config/routes.rb:3:in 'block in ': undefined local variable or method 'map' for # (NameError) from E:/Ruby192/lib/ruby/gems/1.9.1/gems/actionpack-3.0.0/lib/action_dis patch/routing/route_set.rb:233:in 'instance_exec' from E:/Ruby192/lib/ruby/gems/1.9.1/gems/actionpack-3.0.0/lib/action_dis patch/routing/route_set.rb:233:in 'draw'

+1

ile başlattığınızda, eski (raylar 2.x yönlendirme api) kullandınız. Artık bir blok değişkeni yok. Sadece bu satırı bloğa ekleyin: 'match ': controller /: action /: id (.: Format)''. Daha fazla bilgi ray kılavuzlarında bulunabilir: http://guides.rubyonrails.org/routing.html – Eimantas

0
match '/dashboard', :controller => 'dashboard', :action => 'index' 

Belki? Bunu test etmedim bile.

1

Ben

map.root :controller => "dashboard", :action => "index" 
    map.dashboard "/dashboard", :controller => "dashboard", :action => "index" 
    map.connect "/dashboard/:action", :controller => "dashboard", :action => "index" 
    #standard routes 
    map.connect ':controller/:action/:id' 
    map.connect ':controller/:action/:id.:format' 

yapacağını ya da ben map.connect `eklendi zaman

#special case 
    map.root :controller => "dashboard", :action => "index" 

    #general case 
    map.connect ":controller", :action => "index" 
    map.connect ":controller/:action" 

    #standard routes 
    map.connect ':controller/:action/:id' 
    map.connect ':controller/:action/:id.:format' 
+1

Bu API, rails3 stili değildir. – Eimantas

+0

Rayları 3 kullanmadım ama neden olmasın? Raylar3 artık dinlenme tarzına uymuyor mu? Ya da REST'i takip etmeyen bir hata yaptınız mı? –

İlgili konular