2010-06-23 48 views
5

Me parece que no puede encontrar documentación sobre las rutas de mapeo con opciones en los carriles 3.Enrutamiento en rieles 3: ¿Mapa con opciones?

Como ejemplo específico, Necesito traducir

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 

En sintaxis correcta para rails3. Estoy seguro de que debe ser simple que he pasado por alto, pero cualquier ayuda o enlace a los artículos sería maravilloso.

Respuesta

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 

Esto es específicamente lo que estaba buscando, no estaba claro al principio (a mí) que esta es cómo se traducirían las opciones.

+0

Agregaría que necesito agregar restricciones a estos para permitir solo opciones gratuitas y premium para el nivel, pero eso es relativamente trivial. –

+0

gracias! estado buscando en todas partes para esto – stephenmurdoch

0

leer http://guides.rails.info/index.html (rieles borde docs) para ver cómo se puede traducir sus rieles rutas 2.x

+1

Gracias pero ya había leído todo esto, esperaba un ejemplo específico. –

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 
Cuestiones relacionadas