2011-01-10 18 views
0

In meiner Rails 3-Anwendung, ich möchte auf den folgenden Wege zu leiten können:Rails3 - Routing Benutzerdefinierte Controller-Aktionen

  • /admin/Auto/get_makes_for_year
  • /admin/Auto/get_models_for_make_and_year

Ich habe die folgenden Routen an Ort und Stelle, die die Arbeit erledigt.

Moonshine::Application.routes.draw do 
    # Administration 
    match 'admin/automobiles/get_makes_for_year' => 'admin/automobiles#get_makes_for_year' 
    match 'admin/automobiles/get_models_for_make_and_year' => 'admin/automobiles#get_models_for_make_and_year' 
    namespace "admin" do 
    resources :automobiles 
    end 
end 

jedoch Mapping eigene Routen auf diese Weise nicht richtig anfühlen. Gibt es eine bessere Möglichkeit, Routen zu benutzerdefinierten Controlleraktionen zu implementieren? Ich dachte, dass es eine Möglichkeit geben würde, die :controller, :action Wildcards oder alternativ etwas wie folgt zu verwenden.

Moonshine::Application.routes.draw do 
    # Administration 
    namespace "admin" do 
    resources :automobiles do 
     get :get_makes_for_year 
     get :get_models_for_make_and_year 
    end 
    end 
end 

Antwort

4

können Sie tun:

Moonshine::Application.routes.draw do 
    # Administration 
    namespace "admin" do 
    resources :automobiles do 
     get :get_makes_for_year, :on => :collection 
     get :get_models_for_make_and_year, :on => :collection 
    end 
    end 
end 
+0

genial, dass es tat. Vielen Dank! –