2010-06-23 15 views
5

io non riesco a trovare la documentazione sui percorsi di mappatura con le opzioni in Rails 3.Routing in Rails 3: Mappa con opzioni?

Come esempio specifico, ho bisogno di tradurre

map.with_options :controller => 'users' do |signup| 
    signup.signup '/signup', 
     :action => 'landing', 
     :conditions => { :method => :get } 
    signup.premium '/signup/premium', 
     :action => 'new', 
     :level => 'premium', 
     :conditions => { :method => :get }  
    signup.premium '/signup/premium', 
     :action => 'create', 
     :level => 'premium', 
     :conditions => { :method => :post } 
    signup.free '/signup/free', 
     :action => 'new', 
     :level => 'free', 
     :conditions => { :method => :get }  
    signup.free '/signup/free', 
     :action => 'create', 
     :level => 'free', 
     :conditions => { :method => :post }  
    end 

Into sintassi corretta per Rails3. Sono sicuro che deve essere semplice che ho trascurato, ma qualsiasi aiuto o link ad articoli sarebbe meraviglioso.

risposta

4
scope '/signup' do 
    match '/signup' => "users#landing", :as => :signup 
    get '/:level' => 'users#new', :as => :signup_new 
    post '/:level' => 'users#create', :as => :signup_create 
end 

Questo è precisamente quello che cercavo, non era chiaro in un primo momento (per me) che questo è come le traduzioni verrebbero tradotte.

+0

Vorrei aggiungere che ho bisogno di aggiungere vincoli a questi per consentire solo le opzioni gratuite e premium come per il livello, ma che è relativamente banale. –

+0

grazie! cercavo dappertutto questo – stephenmurdoch

0

leggere http://guides.rails.info/index.html (rotaie bordo docs) per vedere come è possibile tradurre i binari percorsi 2.x

+1

Grazie ma avevo già letto tutto questo, speravo in un esempio specifico. –

0
scope '/signup' do 
with_options :controller => :users do |signup| 
    signup.match '/signup', :action => :landing 
    signup.get '/:level', :action => :new, :as => :signup_new 
     # or just signup.get '/:level/new', :action => :new 
    signup.post '/:level', :action => :create, :as => :signup_create 
end 
end