Created
December 10, 2009 06:03
-
-
Save carlosbrando/253155 to your computer and use it in GitHub Desktop.
A nova DSL de rotas do Rails 3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ActionController::Routing::Routes.draw do |map| | |
# A prioridade é baseada na ordem da criação: | |
# criado primeiro -> maior prioridade. | |
# Exemplo de uma rota comum: | |
match 'products/:id', :to => 'catalog#view' | |
# Tenha em mente que você pode atribuir outros valores além de :controller e :action | |
# Exemplo de uma rota nomeada: | |
match 'products/:id/purchase', :to => 'catalog#purchase', :as => :purchase | |
# Esta rota pode ser invocada utilizando purchase_url(:id => product.id) | |
# Exemplo utilizando resources (mapeia verbos HTTP para ações do controller automaticamente) | |
resources :products | |
# Exemplo utilizando resources com opções: | |
resources :products do | |
member do | |
get :short | |
post :toggle | |
end | |
collection do | |
get :sold | |
end | |
end | |
# Exemplo utilizando resource com sub-resources: | |
resources :products do | |
resources :comments, :sales | |
resource :seller | |
end | |
# Exemplo mais complexo de uso de resources com sub-resources: | |
resources :products do | |
resources :comments | |
resources :sales do | |
get :recent, :on => :collection | |
end | |
end | |
# Exeplo utilizando resource com um namespace: | |
namespace :admin do | |
# Direciona /admin/products/* para Admin::ProductsController | |
# (app/controllers/admin/products_controller.rb) | |
resources :products | |
end | |
# Você pode definir a home do seu site utilizando "root" | |
# Lembre-se de apagar o arquivo public/index.html. | |
root :to => "welcome" | |
# Você pode listar todas as rotas disponíveis com "rake routes" | |
# Deixe a rota padrão com a prioridade mais baixa possível. | |
# Nota: A rota padrão torna todas as actions em qualquer controller | |
# acessíveis via solicitações GET. Você deve considerar a remoção | |
# ou comentar esta linha se estiver usando rotas nomeadas e recursos. | |
match ':controller(/:action(/:id(.:format)))' | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment