# In config/routes.rb map.route_name 'url_pattern', params_hash map.user_list 'users', :controller => 'users', :action => 'list' map.root, :controller => 'home'
map.connect "blog/:year/:month/:day", :controller => "blog", :action => "show_date", :requirements => { :year => /(19|20)\d\d/, :month => /[01]?\d/, :day => /[0-3]?\d/}, :day => nil, :month => nil
# In your views link_to "User list", user_list_path # => <a href="/users">User List</a> link_to "User list", user_list_url # => <a href="http://site.url/users">User List</a> form_tag(search_path) form_for(@person, :url => super_post_path) # In a controller action redirect_to root_path
params = {"action"=>"show", "id"=>"2", "controller"=>"posts"} url_for(params) #=> http://localhost:3000/posts/2 # url_for is used by link_to, redirect_to, form_for etc.
map.connect '*anything', :controller => 'blog', :action => 'unknown_request' map.connect 'download/*path', :controller => 'file' :action => 'download'
# rake routes # map.resources :posts posts GET /posts(.:format) {:controller=>"posts", :action=>"index"} POST /posts(.:format) {:controller=>"posts", :action=>"create"} new_post GET /posts/new(.:format) {:controller=>"posts", :action=>"new"} edit_post GET /posts/:id/edit(.:format) {:controller=>"posts", :action=>"edit"} post GET /posts/:id(.:format) {:controller=>"posts", :action=>"show"} PUT /posts/:id(.:format) {:controller=>"posts", :action=>"update"} DELETE /posts/:id(.:format) {:controller=>"posts", :action=>"destroy"} # Default routes /:controller/:action/:id /:controller/:action/:id(.:format)
rs = ActionController::Routing::Routes puts rs.routes rs.generate :controller => 'posts', :action => 'show', :id => 1 # => "/posts/1" rs.recognize_path("/posts/1", :method => :get) #=> {:controller=>"posts", :action=>"show", :id=>"1"}
def test_movie_route_properly_splits opts = {:controller => "plugin", :action => "checkout", :id => "2"} assert_routing "plugin/checkout/2", opts end def test_route_has_options opts = {:controller => "plugin", :action => "show", :id => "12"} assert_recognizes opts, "/plugins/show/12" end