2010-06-23 3 views
5

Je ne peux pas sembler trouver de la documentation sur les itinéraires de cartographie avec des options dans des rails 3.Routage dans les rails 3: Carte avec options?

Comme un exemple précis, je dois traduire

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 

Dans la syntaxe appropriée pour rails3. Je suis sûr qu'il doit être simple que j'ai oublié, mais toute aide ou des liens vers des articles serait merveilleux.

Répondre

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 

C'est précisément ce que je cherchais, on ne sait pas tout d'abord (pour moi) que ce est comment les options traduiraient.

+0

J'ajouterais que j'ai besoin d'ajouter des contraintes à celles-ci pour n'autoriser que des options gratuites et premium comme niveau, mais c'est relativement trivial. –

+0

merci! été chercher partout pour cela – stephenmurdoch

0

lire http://guides.rails.info/index.html (rails de bord docs) pour voir comment vous pouvez traduire vos rails routes 2.x

+1

Merci, mais j'avais déjà lu tout cela, j'espérais un exemple précis. –

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