23.3 Helpers for Formatting, Linking, and Pagination 21 Action Controller: Routing and URLs
ls app/controllers/*_controller.rb
app/controllers/admin_controller.rb
app/controllers/application_controller.rb
app/controllers/info_controller.rb
app/controllers/line_items_controller.rb
app/controllers/orders_controller.rb
app/controllers/products_controller.rb
app/controllers/store_controller.rb
app/controllers/users_controller.rb
irb e1/routing/config2/routes_for_depot.rb
>> require "./config/environment.rb"
=> true
>> ActionController::Base.session_store = nil
=> nil
>> ActionController::Routing.use_controllers! ["store", "admin", "coupon"]
=> ["store", "admin", "coupon"]
>> load "config/routes.rb"
=> []
>> rs = ActionController::Routing::Routes
=> #<ActionController::Routing::RouteSet:0xb6c2bfa8 @configuration_files=["/home/rubys/git/awdwr/work-238/depot/config/routes.rb"], @routes_last_modified=Fri May 28 06:12:02 -0400 2010, @builder=#<ActionController::Routing::RouteBuilder:0xb71ccb88 @interval_regexp=/(.*?)((?-mix:[\/\.\?])|$)/, @separators=["/", ".", "?"], @nonseparator_regexp=/\A([^\/\.\?]+)/, @separator_regexp=/[\/\.\?]/, @optional_separators=["/"]>, @routes_by_controller=nil, @named_routes=#<ActionController::Routing::RouteSet::NamedRouteCollection:0xb6c25dc4 @helpers=[:hash_for_users_path, :users_path, :hash_for_users_url, :users_url, :hash_for_new_user_path, :new_user_path, :hash_for_new_user_url, :new_user_url, :hash_for_edit_user_path, :edit_user_path, :hash_for_edit_user_url, :edit_user_url, :hash_for_user_path, :user_path, :hash_for_user_url, :user_url, :hash_for_line_items_path, :line_items_path, :hash_for_line_items_url, :line_items_url, :hash_for_new_line_item_path, :new_line_item_path, :hash_for_new_line_item_url, :new_line_item_url, :hash_for_edit_line_item_path, :edit_line_item_path, :hash_for_edit_line_item_url, :edit_line_item_url, :hash_for_line_item_path, :line_item_path, :hash_for_line_item_url, :line_item_url, :hash_for_orders_path, :orders_path, :hash_for_orders_url, :orders_url, :hash_for_new_order_path, :new_order_path, :hash_for_new_order_url, :new_order_url, :hash_for_edit_order_path, :edit_order_path, :hash_for_edit_order_url, :edit_order_url, :hash_for_order_path, :order_path, :hash_for_order_url, :order_url, :hash_for_products_path, :products_path, :hash_for_products_url, :products_url, :hash_for_new_product_path, :new_product_path, :hash_for_new_product_url, :new_product_url, :hash_for_edit_product_path, :edit_product_path, :hash_for_edit_product_url, :edit_product_url, :hash_for_product_path, :product_path, :hash_for_product_url, :product_url], @routes={:new_line_item=>#<ActionController::Routing::Route:0xb70f8914 @defaults={:controller=>"line_items", :action=>"new"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"new"}, @to_s="GET /line_items/new(.:format)? {:controller=>\"line_items\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb70f9850 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb70f95a8 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb70f947c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb70f933c @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb70f9260 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="new", @requirements={:controller=>"line_items", :action=>"new"}>, :users=>#<ActionController::Routing::Route:0xb71cc174 @defaults={:controller=>"users", :action=>"index"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"index"}, @to_s="GET /users(.:format)? {:controller=>\"users\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb71cc8a4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb71cc7b4 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0xb71cc700 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="index", @requirements={:controller=>"users", :action=>"index"}>, :edit_order=>#<ActionController::Routing::Route:0xb734b2e8 @defaults={:controller=>"orders", :action=>"edit"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"edit"}, @to_s="GET /orders/:id/edit(.:format)? {:controller=>\"orders\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb734bea0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb734bdd8 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb734bd24 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb734bc70 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::DividerSegment:0xb734bba8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb734bb08 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb734ba7c @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="edit", @requirements={:controller=>"orders", :action=>"edit"}>, :order=>#<ActionController::Routing::Route:0xb74367d4 @defaults={:controller=>"orders", :action=>"show"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"show"}, @to_s="GET /orders/:id(.:format)? {:controller=>\"orders\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb7439ba0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7439858 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb7439664 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb74395c4 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb74391dc @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="show", @requirements={:controller=>"orders", :action=>"show"}>, :edit_line_item=>#<ActionController::Routing::Route:0xb70c689c @defaults={:controller=>"line_items", :action=>"edit"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"edit"}, @to_s="GET /line_items/:id/edit(.:format)? {:controller=>\"line_items\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb70cbb1c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb70cb9a0 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb70cb8ec @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb70cb838 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::DividerSegment:0xb70cb770 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb70cb6d0 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb70cb518 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="edit", @requirements={:controller=>"line_items", :action=>"edit"}>, :line_items=>#<ActionController::Routing::Route:0xb712764c @defaults={:controller=>"line_items", :action=>"index"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"index"}, @to_s="GET /line_items(.:format)? {:controller=>\"line_items\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb7129064 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7128a38 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0xb712827c @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="index", @requirements={:controller=>"line_items", :action=>"index"}>, :new_user=>#<ActionController::Routing::Route:0xb71ac8ec @defaults={:controller=>"users", :action=>"new"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"new"}, @to_s="GET /users/new(.:format)? {:controller=>\"users\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb71ae084 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb71adfd0 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb71adf1c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb71ade68 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb71addf0 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="new", @requirements={:controller=>"users", :action=>"new"}>, :product=>#<ActionController::Routing::Route:0xb6a996cc @defaults={:controller=>"products", :action=>"show"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"show"}, @to_s="GET /products/:id(.:format)? {:controller=>\"products\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a99e74 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a99dd4 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6a99d20 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a99c80 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb6a99c08 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="show", @requirements={:controller=>"products", :action=>"show"}>, :orders=>#<ActionController::Routing::Route:0xb73c1240 @defaults={:controller=>"orders", :action=>"index"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"index"}, @to_s="GET /orders(.:format)? {:controller=>\"orders\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb73c1948 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb73c18a8 @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0xb73c17b8 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="index", @requirements={:controller=>"orders", :action=>"index"}>, :line_item=>#<ActionController::Routing::Route:0xb70b3ad0 @defaults={:controller=>"line_items", :action=>"show"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"show"}, @to_s="GET /line_items/:id(.:format)? {:controller=>\"line_items\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb70b4660 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb70b4584 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb70b43cc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb70b432c @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb70b42a0 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="show", @requirements={:controller=>"line_items", :action=>"show"}>, :edit_user=>#<ActionController::Routing::Route:0xb7198748 @defaults={:controller=>"users", :action=>"edit"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"edit"}, @to_s="GET /users/:id/edit(.:format)? {:controller=>\"users\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb71997c4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb71996fc @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb7199634 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb719956c @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::DividerSegment:0xb7199490 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb71993f0 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb7199364 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="edit", @requirements={:controller=>"users", :action=>"edit"}>, :new_product=>#<ActionController::Routing::Route:0xb6aa89ec @defaults={:controller=>"products", :action=>"new"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"new"}, @to_s="GET /products/new(.:format)? {:controller=>\"products\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6aa9068 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6aa8fc8 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6aa8f14 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6aa8e74 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb6aa8dfc @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="new", @requirements={:controller=>"products", :action=>"new"}>, :products=>#<ActionController::Routing::Route:0xb6ab3cd4 @defaults={:controller=>"products", :action=>"index"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"index"}, @to_s="GET /products(.:format)? {:controller=>\"products\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6ab41ac @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6ab410c @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0xb6ab4094 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="index", @requirements={:controller=>"products", :action=>"index"}>, :user=>#<ActionController::Routing::Route:0xb7188de8 @defaults={:controller=>"users", :action=>"show"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"show"}, @to_s="GET /users/:id(.:format)? {:controller=>\"users\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb71895f4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7189518 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb7189464 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb71893c4 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb718934c @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="show", @requirements={:controller=>"users", :action=>"show"}>, :edit_product=>#<ActionController::Routing::Route:0xb6a9f428 @defaults={:controller=>"products", :action=>"edit"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"edit"}, @to_s="GET /products/:id/edit(.:format)? {:controller=>\"products\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a9fd74 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a9fcd4 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6a9fc20 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a9fb80 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::DividerSegment:0xb6a9facc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a9fa2c @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb6a9f9b4 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="edit", @requirements={:controller=>"products", :action=>"edit"}>, :new_order=>#<ActionController::Routing::Route:0xb7370d54 @defaults={:controller=>"orders", :action=>"new"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"new"}, @to_s="GET /orders/new(.:format)? {:controller=>\"orders\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb7371ac4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb73719c0 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb7371740 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7371574 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb737140c @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="new", @requirements={:controller=>"orders", :action=>"new"}>}, @module=#<Module:0xb6c25d4c>>, @routes=[#<ActionController::Routing::Route:0xb71cc174 @defaults={:controller=>"users", :action=>"index"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"index"}, @to_s="GET /users(.:format)? {:controller=>\"users\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb71cc8a4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb71cc7b4 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0xb71cc700 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="index", @requirements={:controller=>"users", :action=>"index"}>, #<ActionController::Routing::Route:0xb71b7d78 @defaults={:controller=>"users", :action=>"create"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"create"}, @to_s="POST /users(.:format)? {:controller=>\"users\", :action=>\"create\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb71b8278 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb71b81d8 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0xb71b814c @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:post}, @action_requirement="create", @requirements={:controller=>"users", :action=>"create"}>, #<ActionController::Routing::Route:0xb71ac8ec @defaults={:controller=>"users", :action=>"new"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"new"}, @to_s="GET /users/new(.:format)? {:controller=>\"users\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb71ae084 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb71adfd0 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb71adf1c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb71ade68 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb71addf0 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="new", @requirements={:controller=>"users", :action=>"new"}>, #<ActionController::Routing::Route:0xb7198748 @defaults={:controller=>"users", :action=>"edit"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"edit"}, @to_s="GET /users/:id/edit(.:format)? {:controller=>\"users\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb71997c4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb71996fc @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb7199634 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb719956c @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::DividerSegment:0xb7199490 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb71993f0 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb7199364 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="edit", @requirements={:controller=>"users", :action=>"edit"}>, #<ActionController::Routing::Route:0xb7188de8 @defaults={:controller=>"users", :action=>"show"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"show"}, @to_s="GET /users/:id(.:format)? {:controller=>\"users\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb71895f4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7189518 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb7189464 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb71893c4 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb718934c @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="show", @requirements={:controller=>"users", :action=>"show"}>, #<ActionController::Routing::Route:0xb717921c @defaults={:controller=>"users", :action=>"update"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"update"}, @to_s="PUT /users/:id(.:format)? {:controller=>\"users\", :action=>\"update\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb717a9a0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb717a784 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb717a554 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb717a298 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb717a1bc @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:put}, @action_requirement="update", @requirements={:controller=>"users", :action=>"update"}>, #<ActionController::Routing::Route:0xb7159e1c @defaults={:controller=>"users", :action=>"destroy"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"destroy"}, @to_s="DELETE /users/:id(.:format)? {:controller=>\"users\", :action=>\"destroy\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb71650f0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb716355c @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb7163034 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb71629b8 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb71613b0 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:delete}, @action_requirement="destroy", @requirements={:controller=>"users", :action=>"destroy"}>, #<ActionController::Routing::Route:0xb712764c @defaults={:controller=>"line_items", :action=>"index"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"index"}, @to_s="GET /line_items(.:format)? {:controller=>\"line_items\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb7129064 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7128a38 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0xb712827c @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="index", @requirements={:controller=>"line_items", :action=>"index"}>, #<ActionController::Routing::Route:0xb71006b4 @defaults={:controller=>"line_items", :action=>"create"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"create"}, @to_s="POST /line_items(.:format)? {:controller=>\"line_items\", :action=>\"create\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb7103300 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7103008 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0xb7102f90 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:post}, @action_requirement="create", @requirements={:controller=>"line_items", :action=>"create"}>, #<ActionController::Routing::Route:0xb70f8914 @defaults={:controller=>"line_items", :action=>"new"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"new"}, @to_s="GET /line_items/new(.:format)? {:controller=>\"line_items\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb70f9850 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb70f95a8 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb70f947c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb70f933c @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb70f9260 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="new", @requirements={:controller=>"line_items", :action=>"new"}>, #<ActionController::Routing::Route:0xb70c689c @defaults={:controller=>"line_items", :action=>"edit"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"edit"}, @to_s="GET /line_items/:id/edit(.:format)? {:controller=>\"line_items\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb70cbb1c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb70cb9a0 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb70cb8ec @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb70cb838 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::DividerSegment:0xb70cb770 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb70cb6d0 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb70cb518 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="edit", @requirements={:controller=>"line_items", :action=>"edit"}>, #<ActionController::Routing::Route:0xb70b3ad0 @defaults={:controller=>"line_items", :action=>"show"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"show"}, @to_s="GET /line_items/:id(.:format)? {:controller=>\"line_items\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb70b4660 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb70b4584 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb70b43cc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb70b432c @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb70b42a0 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="show", @requirements={:controller=>"line_items", :action=>"show"}>, #<ActionController::Routing::Route:0xb70a0b38 @defaults={:controller=>"line_items", :action=>"update"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"update"}, @to_s="PUT /line_items/:id(.:format)? {:controller=>\"line_items\", :action=>\"update\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb70a2550 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb70a230c @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb70a21cc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb70a20c8 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb70a1efc @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:put}, @action_requirement="update", @requirements={:controller=>"line_items", :action=>"update"}>, #<ActionController::Routing::Route:0xb7092f10 @defaults={:controller=>"line_items", :action=>"destroy"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"destroy"}, @to_s="DELETE /line_items/:id(.:format)? {:controller=>\"line_items\", :action=>\"destroy\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb70977e0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb70975ec @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb7097510 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb70970ec @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb7097060 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:delete}, @action_requirement="destroy", @requirements={:controller=>"line_items", :action=>"destroy"}>, #<ActionController::Routing::Route:0xb73c1240 @defaults={:controller=>"orders", :action=>"index"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"index"}, @to_s="GET /orders(.:format)? {:controller=>\"orders\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb73c1948 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb73c18a8 @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0xb73c17b8 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="index", @requirements={:controller=>"orders", :action=>"index"}>, #<ActionController::Routing::Route:0xb73782ac @defaults={:controller=>"orders", :action=>"create"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"create"}, @to_s="POST /orders(.:format)? {:controller=>\"orders\", :action=>\"create\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb737a124 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7379b70 @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0xb73792ec @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:post}, @action_requirement="create", @requirements={:controller=>"orders", :action=>"create"}>, #<ActionController::Routing::Route:0xb7370d54 @defaults={:controller=>"orders", :action=>"new"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"new"}, @to_s="GET /orders/new(.:format)? {:controller=>\"orders\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb7371ac4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb73719c0 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb7371740 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7371574 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb737140c @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="new", @requirements={:controller=>"orders", :action=>"new"}>, #<ActionController::Routing::Route:0xb734b2e8 @defaults={:controller=>"orders", :action=>"edit"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"edit"}, @to_s="GET /orders/:id/edit(.:format)? {:controller=>\"orders\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb734bea0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb734bdd8 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb734bd24 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb734bc70 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::DividerSegment:0xb734bba8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb734bb08 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb734ba7c @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="edit", @requirements={:controller=>"orders", :action=>"edit"}>, #<ActionController::Routing::Route:0xb74367d4 @defaults={:controller=>"orders", :action=>"show"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"show"}, @to_s="GET /orders/:id(.:format)? {:controller=>\"orders\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb7439ba0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7439858 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb7439664 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb74395c4 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb74391dc @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="show", @requirements={:controller=>"orders", :action=>"show"}>, #<ActionController::Routing::Route:0xb74fed38 @defaults={:controller=>"orders", :action=>"update"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"update"}, @to_s="PUT /orders/:id(.:format)? {:controller=>\"orders\", :action=>\"update\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb7502500 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7502460 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb75022f8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb7502050 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb7501754 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:put}, @action_requirement="update", @requirements={:controller=>"orders", :action=>"update"}>, #<ActionController::Routing::Route:0xb755591c @defaults={:controller=>"orders", :action=>"destroy"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"destroy"}, @to_s="DELETE /orders/:id(.:format)? {:controller=>\"orders\", :action=>\"destroy\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb74ea20c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb74e985c @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb74e917c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb74e8f60 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb74e7b9c @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:delete}, @action_requirement="destroy", @requirements={:controller=>"orders", :action=>"destroy"}>, #<ActionController::Routing::Route:0xb6ab3cd4 @defaults={:controller=>"products", :action=>"index"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"index"}, @to_s="GET /products(.:format)? {:controller=>\"products\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6ab41ac @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6ab410c @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0xb6ab4094 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="index", @requirements={:controller=>"products", :action=>"index"}>, #<ActionController::Routing::Route:0xb6aaaecc @defaults={:controller=>"products", :action=>"create"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"create"}, @to_s="POST /products(.:format)? {:controller=>\"products\", :action=>\"create\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6aab3a4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6aab304 @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0xb6aab28c @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:post}, @action_requirement="create", @requirements={:controller=>"products", :action=>"create"}>, #<ActionController::Routing::Route:0xb6aa89ec @defaults={:controller=>"products", :action=>"new"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"new"}, @to_s="GET /products/new(.:format)? {:controller=>\"products\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6aa9068 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6aa8fc8 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6aa8f14 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6aa8e74 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb6aa8dfc @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="new", @requirements={:controller=>"products", :action=>"new"}>, #<ActionController::Routing::Route:0xb6a9f428 @defaults={:controller=>"products", :action=>"edit"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"edit"}, @to_s="GET /products/:id/edit(.:format)? {:controller=>\"products\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a9fd74 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a9fcd4 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6a9fc20 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a9fb80 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::DividerSegment:0xb6a9facc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a9fa2c @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb6a9f9b4 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="edit", @requirements={:controller=>"products", :action=>"edit"}>, #<ActionController::Routing::Route:0xb6a996cc @defaults={:controller=>"products", :action=>"show"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"show"}, @to_s="GET /products/:id(.:format)? {:controller=>\"products\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a99e74 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a99dd4 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6a99d20 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a99c80 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb6a99c08 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="show", @requirements={:controller=>"products", :action=>"show"}>, #<ActionController::Routing::Route:0xb6a93a60 @defaults={:controller=>"products", :action=>"update"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"update"}, @to_s="PUT /products/:id(.:format)? {:controller=>\"products\", :action=>\"update\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a94208 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a94168 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6a940b4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a94014 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb6a93f9c @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:put}, @action_requirement="update", @requirements={:controller=>"products", :action=>"update"}>, #<ActionController::Routing::Route:0xb6a908ec @defaults={:controller=>"products", :action=>"destroy"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"destroy"}, @to_s="DELETE /products/:id(.:format)? {:controller=>\"products\", :action=>\"destroy\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a91094 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a90ff4 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6a90f40 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a90ea0 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb6a90e28 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:delete}, @action_requirement="destroy", @requirements={:controller=>"products", :action=>"destroy"}>, #<ActionController::Routing::Route:0xb6a8dbc4 @defaults={:action=>"index"}, @matching_prepared=true, @controller_requirement=nil, @significant_keys=[:controller, :action, :id], @parameter_shell={}, @to_s="ANY /:controller/:action/:id/ {}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a8e13c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::ControllerSegment:0xb6a8e09c @is_optional=false, @key=:controller>, #<ActionController::Routing::DividerSegment:0xb6a8dfe8 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a8df48 @default="index", @is_optional=true, @key=:action>, #<ActionController::Routing::DividerSegment:0xb6a8de94 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a8ddf4 @is_optional=true, @key=:id>, #<ActionController::Routing::DividerSegment:0xb6a8dd40 @is_optional=true, @raw=true, @value="/">], @optimise=false, @conditions={}, @action_requirement=nil, @requirements={}>, #<ActionController::Routing::Route:0xb6a893bc @defaults={:action=>"index"}, @matching_prepared=true, @controller_requirement=nil, @significant_keys=[:controller, :action, :id, :format], @parameter_shell={}, @to_s="ANY /:controller/:action/:id(.:format)? {}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a8990c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::ControllerSegment:0xb6a8986c @is_optional=false, @key=:controller>, #<ActionController::Routing::DividerSegment:0xb6a897b8 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a89718 @default="index", @is_optional=true, @key=:action>, #<ActionController::Routing::DividerSegment:0xb6a89664 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a895c4 @is_optional=true, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb6a8954c @is_optional=true, @key=:format>], @optimise=false, @conditions={}, @action_requirement=nil, @requirements={}>, #<ActionController::Routing::Route:0xb6a79afc @defaults={:controller=>"users", :action=>"index"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"index"}, @to_s="GET /users(.:format)? {:controller=>\"users\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a79fd4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a79f34 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0xb6a79ebc @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="index", @requirements={:controller=>"users", :action=>"index"}>, #<ActionController::Routing::Route:0xb6a778b0 @defaults={:controller=>"users", :action=>"create"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"create"}, @to_s="POST /users(.:format)? {:controller=>\"users\", :action=>\"create\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a77d88 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a77ce8 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0xb6a77c70 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:post}, @action_requirement="create", @requirements={:controller=>"users", :action=>"create"}>, #<ActionController::Routing::Route:0xb6a753e4 @defaults={:controller=>"users", :action=>"new"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"new"}, @to_s="GET /users/new(.:format)? {:controller=>\"users\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a75a60 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a759c0 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb6a7590c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a7586c @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb6a757f4 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="new", @requirements={:controller=>"users", :action=>"new"}>, #<ActionController::Routing::Route:0xb6a72a90 @defaults={:controller=>"users", :action=>"edit"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"edit"}, @to_s="GET /users/:id/edit(.:format)? {:controller=>\"users\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a733dc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a7333c @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb6a73288 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a731e8 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::DividerSegment:0xb6a73134 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a73094 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb6a7301c @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="edit", @requirements={:controller=>"users", :action=>"edit"}>, #<ActionController::Routing::Route:0xb6a6f854 @defaults={:controller=>"users", :action=>"show"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"show"}, @to_s="GET /users/:id(.:format)? {:controller=>\"users\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a6fffc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a6ff5c @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb6a6fea8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a6fe08 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb6a6fd90 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="show", @requirements={:controller=>"users", :action=>"show"}>, #<ActionController::Routing::Route:0xb6a6c6f4 @defaults={:controller=>"users", :action=>"update"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"update"}, @to_s="PUT /users/:id(.:format)? {:controller=>\"users\", :action=>\"update\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a6ce9c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a6cdfc @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb6a6cd48 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a6cca8 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb6a6cc30 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:put}, @action_requirement="update", @requirements={:controller=>"users", :action=>"update"}>, #<ActionController::Routing::Route:0xb6a69580 @defaults={:controller=>"users", :action=>"destroy"}, @matching_prepared=true, @controller_requirement="users", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"users", :action=>"destroy"}, @to_s="DELETE /users/:id(.:format)? {:controller=>\"users\", :action=>\"destroy\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a69d28 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a69c88 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb6a69bd4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a69b34 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb6a69abc @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:delete}, @action_requirement="destroy", @requirements={:controller=>"users", :action=>"destroy"}>, #<ActionController::Routing::Route:0xb6a66178 @defaults={:controller=>"line_items", :action=>"index"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"index"}, @to_s="GET /line_items(.:format)? {:controller=>\"line_items\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a66650 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a665b0 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0xb6a66538 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="index", @requirements={:controller=>"line_items", :action=>"index"}>, #<ActionController::Routing::Route:0xb6a63f2c @defaults={:controller=>"line_items", :action=>"create"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"create"}, @to_s="POST /line_items(.:format)? {:controller=>\"line_items\", :action=>\"create\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a64404 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a64364 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0xb6a642ec @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:post}, @action_requirement="create", @requirements={:controller=>"line_items", :action=>"create"}>, #<ActionController::Routing::Route:0xb6a61a60 @defaults={:controller=>"line_items", :action=>"new"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"new"}, @to_s="GET /line_items/new(.:format)? {:controller=>\"line_items\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a620dc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a6203c @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb6a61f88 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a61ee8 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb6a61e70 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="new", @requirements={:controller=>"line_items", :action=>"new"}>, #<ActionController::Routing::Route:0xb6a5f10c @defaults={:controller=>"line_items", :action=>"edit"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"edit"}, @to_s="GET /line_items/:id/edit(.:format)? {:controller=>\"line_items\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a5fa58 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a5f9b8 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb6a5f904 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a5f864 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::DividerSegment:0xb6a5f7b0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a5f710 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb6a5f698 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="edit", @requirements={:controller=>"line_items", :action=>"edit"}>, #<ActionController::Routing::Route:0xb6a5bed0 @defaults={:controller=>"line_items", :action=>"show"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"show"}, @to_s="GET /line_items/:id(.:format)? {:controller=>\"line_items\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a5c678 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a5c5d8 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb6a5c524 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a5c484 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb6a5c40c @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="show", @requirements={:controller=>"line_items", :action=>"show"}>, #<ActionController::Routing::Route:0xb6a58d70 @defaults={:controller=>"line_items", :action=>"update"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"update"}, @to_s="PUT /line_items/:id(.:format)? {:controller=>\"line_items\", :action=>\"update\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a59518 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a59478 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb6a593c4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a59324 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb6a592ac @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:put}, @action_requirement="update", @requirements={:controller=>"line_items", :action=>"update"}>, #<ActionController::Routing::Route:0xb6a55bfc @defaults={:controller=>"line_items", :action=>"destroy"}, @matching_prepared=true, @controller_requirement="line_items", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"line_items", :action=>"destroy"}, @to_s="DELETE /line_items/:id(.:format)? {:controller=>\"line_items\", :action=>\"destroy\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a563a4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a56304 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb6a56250 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a561b0 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb6a56138 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:delete}, @action_requirement="destroy", @requirements={:controller=>"line_items", :action=>"destroy"}>, #<ActionController::Routing::Route:0xb6a527f4 @defaults={:controller=>"orders", :action=>"index"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"index"}, @to_s="GET /orders(.:format)? {:controller=>\"orders\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a52ccc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a52c2c @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0xb6a52bb4 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="index", @requirements={:controller=>"orders", :action=>"index"}>, #<ActionController::Routing::Route:0xb6a505a8 @defaults={:controller=>"orders", :action=>"create"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"create"}, @to_s="POST /orders(.:format)? {:controller=>\"orders\", :action=>\"create\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a50a80 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a509e0 @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0xb6a50968 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:post}, @action_requirement="create", @requirements={:controller=>"orders", :action=>"create"}>, #<ActionController::Routing::Route:0xb6a4e0dc @defaults={:controller=>"orders", :action=>"new"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"new"}, @to_s="GET /orders/new(.:format)? {:controller=>\"orders\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a4e758 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a4e6b8 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb6a4e604 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a4e564 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb6a4e4ec @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="new", @requirements={:controller=>"orders", :action=>"new"}>, #<ActionController::Routing::Route:0xb6a4b788 @defaults={:controller=>"orders", :action=>"edit"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"edit"}, @to_s="GET /orders/:id/edit(.:format)? {:controller=>\"orders\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a4c0d4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a4c034 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb6a4bf80 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a4bee0 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::DividerSegment:0xb6a4be2c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a4bd8c @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb6a4bd14 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="edit", @requirements={:controller=>"orders", :action=>"edit"}>, #<ActionController::Routing::Route:0xb6a4854c @defaults={:controller=>"orders", :action=>"show"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"show"}, @to_s="GET /orders/:id(.:format)? {:controller=>\"orders\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a48cf4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a48c54 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb6a48ba0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a48b00 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb6a48a88 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="show", @requirements={:controller=>"orders", :action=>"show"}>, #<ActionController::Routing::Route:0xb6a453ec @defaults={:controller=>"orders", :action=>"update"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"update"}, @to_s="PUT /orders/:id(.:format)? {:controller=>\"orders\", :action=>\"update\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a45b94 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a45af4 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb6a45a40 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a459a0 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb6a45928 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:put}, @action_requirement="update", @requirements={:controller=>"orders", :action=>"update"}>, #<ActionController::Routing::Route:0xb6a42278 @defaults={:controller=>"orders", :action=>"destroy"}, @matching_prepared=true, @controller_requirement="orders", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"orders", :action=>"destroy"}, @to_s="DELETE /orders/:id(.:format)? {:controller=>\"orders\", :action=>\"destroy\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a42a20 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a42980 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb6a428cc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a4282c @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb6a427b4 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:delete}, @action_requirement="destroy", @requirements={:controller=>"orders", :action=>"destroy"}>, #<ActionController::Routing::Route:0xb6a3ee70 @defaults={:controller=>"products", :action=>"index"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"index"}, @to_s="GET /products(.:format)? {:controller=>\"products\", :action=>\"index\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a3f348 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a3f2a8 @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0xb6a3f230 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="index", @requirements={:controller=>"products", :action=>"index"}>, #<ActionController::Routing::Route:0xb6a3cc24 @defaults={:controller=>"products", :action=>"create"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"create"}, @to_s="POST /products(.:format)? {:controller=>\"products\", :action=>\"create\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a3d0fc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a3d05c @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0xb6a3cfe4 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:post}, @action_requirement="create", @requirements={:controller=>"products", :action=>"create"}>, #<ActionController::Routing::Route:0xb6a3a758 @defaults={:controller=>"products", :action=>"new"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"new"}, @to_s="GET /products/new(.:format)? {:controller=>\"products\", :action=>\"new\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a3add4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a3ad34 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6a3ac80 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a3abe0 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb6a3ab68 @is_optional=true, @key=:format>], @optimise=true, @conditions={:method=>:get}, @action_requirement="new", @requirements={:controller=>"products", :action=>"new"}>, #<ActionController::Routing::Route:0xb6a37e04 @defaults={:controller=>"products", :action=>"edit"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"edit"}, @to_s="GET /products/:id/edit(.:format)? {:controller=>\"products\", :action=>\"edit\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a38750 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a386b0 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6a385fc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a3855c @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::DividerSegment:0xb6a384a8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a38408 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb6a38390 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="edit", @requirements={:controller=>"products", :action=>"edit"}>, #<ActionController::Routing::Route:0xb6a34bc8 @defaults={:controller=>"products", :action=>"show"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"show"}, @to_s="GET /products/:id(.:format)? {:controller=>\"products\", :action=>\"show\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a35370 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a352d0 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6a3521c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a3517c @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb6a35104 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:get}, @action_requirement="show", @requirements={:controller=>"products", :action=>"show"}>, #<ActionController::Routing::Route:0xb6a31a68 @defaults={:controller=>"products", :action=>"update"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"update"}, @to_s="PUT /products/:id(.:format)? {:controller=>\"products\", :action=>\"update\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a32210 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a32170 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6a320bc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a3201c @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb6a31fa4 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:put}, @action_requirement="update", @requirements={:controller=>"products", :action=>"update"}>, #<ActionController::Routing::Route:0xb6a2e8f4 @defaults={:controller=>"products", :action=>"destroy"}, @matching_prepared=true, @controller_requirement="products", @significant_keys=[:id, :format, :controller, :action], @parameter_shell={:controller=>"products", :action=>"destroy"}, @to_s="DELETE /products/:id(.:format)? {:controller=>\"products\", :action=>\"destroy\"}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a2f09c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a2effc @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6a2ef48 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a2eea8 @is_optional=false, @key=:id, @regexp=/[^\/.?]+/>, #<ActionController::Routing::OptionalFormatSegment:0xb6a2ee30 @is_optional=true, @key=:format>], @optimise=false, @conditions={:method=>:delete}, @action_requirement="destroy", @requirements={:controller=>"products", :action=>"destroy"}>, #<ActionController::Routing::Route:0xb6a2bbcc @defaults={:action=>"index"}, @matching_prepared=true, @controller_requirement=nil, @significant_keys=[:controller, :action, :id], @parameter_shell={}, @to_s="ANY /:controller/:action/:id/ {}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a2c144 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::ControllerSegment:0xb6a2c0a4 @is_optional=false, @key=:controller>, #<ActionController::Routing::DividerSegment:0xb6a2bff0 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a2bf50 @default="index", @is_optional=true, @key=:action>, #<ActionController::Routing::DividerSegment:0xb6a2be9c @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a2bdfc @is_optional=true, @key=:id>, #<ActionController::Routing::DividerSegment:0xb6a2bd48 @is_optional=true, @raw=true, @value="/">], @optimise=false, @conditions={}, @action_requirement=nil, @requirements={}>, #<ActionController::Routing::Route:0xb6a28724 @defaults={:action=>"index"}, @matching_prepared=true, @controller_requirement=nil, @significant_keys=[:controller, :action, :id, :format], @parameter_shell={}, @to_s="ANY /:controller/:action/:id(.:format)? {}", @segments=[#<ActionController::Routing::DividerSegment:0xb6a28c74 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::ControllerSegment:0xb6a28bd4 @is_optional=false, @key=:controller>, #<ActionController::Routing::DividerSegment:0xb6a28b20 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a28a80 @default="index", @is_optional=true, @key=:action>, #<ActionController::Routing::DividerSegment:0xb6a289cc @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a2892c @is_optional=true, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb6a288b4 @is_optional=true, @key=:format>], @optimise=false, @conditions={}, @action_requirement=nil, @requirements={}>], @combined_regexp=nil>
>> app = ActionController::Integration::Session.new
=> #<ActionController::Integration::Session:0xb68d4198 @request_count=0, @request=nil, @application=#<ActionController::Dispatcher:0xb68d4030 @output=#<IO:0xb755d568>>, @accept="text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5", @host="www.example.com", @headers=nil, @https=false, @controller=nil, @remote_addr="127.0.0.1", @response=nil, @cookies={}, @result=nil, @status_message=nil, @path=nil, @named_routes_configured=true, @status=nil>
>> puts rs.routes
GET /users(.:format)? {:controller=>"users", :action=>"index"}
POST /users(.:format)? {:controller=>"users", :action=>"create"}
GET /users/new(.:format)? {:controller=>"users", :action=>"new"}
GET /users/:id/edit(.:format)? {:controller=>"users", :action=>"edit"}
GET /users/:id(.:format)? {:controller=>"users", :action=>"show"}
PUT /users/:id(.:format)? {:controller=>"users", :action=>"update"}
DELETE /users/:id(.:format)? {:controller=>"users", :action=>"destroy"}
GET /line_items(.:format)? {:controller=>"line_items", :action=>"index"}
POST /line_items(.:format)? {:controller=>"line_items", :action=>"create"}
GET /line_items/new(.:format)? {:controller=>"line_items", :action=>"new"}
GET /line_items/:id/edit(.:format)? {:controller=>"line_items", :action=>"edit"}
GET /line_items/:id(.:format)? {:controller=>"line_items", :action=>"show"}
PUT /line_items/:id(.:format)? {:controller=>"line_items", :action=>"update"}
DELETE /line_items/:id(.:format)? {:controller=>"line_items", :action=>"destroy"}
GET /orders(.:format)? {:controller=>"orders", :action=>"index"}
POST /orders(.:format)? {:controller=>"orders", :action=>"create"}
GET /orders/new(.:format)? {:controller=>"orders", :action=>"new"}
GET /orders/:id/edit(.:format)? {:controller=>"orders", :action=>"edit"}
GET /orders/:id(.:format)? {:controller=>"orders", :action=>"show"}
PUT /orders/:id(.:format)? {:controller=>"orders", :action=>"update"}
DELETE /orders/:id(.:format)? {:controller=>"orders", :action=>"destroy"}
GET /products(.:format)? {:controller=>"products", :action=>"index"}
POST /products(.:format)? {:controller=>"products", :action=>"create"}
GET /products/new(.:format)? {:controller=>"products", :action=>"new"}
GET /products/:id/edit(.:format)? {:controller=>"products", :action=>"edit"}
GET /products/:id(.:format)? {:controller=>"products", :action=>"show"}
PUT /products/:id(.:format)? {:controller=>"products", :action=>"update"}
DELETE /products/:id(.:format)? {:controller=>"products", :action=>"destroy"}
ANY /:controller/:action/:id/ {}
ANY /:controller/:action/:id(.:format)? {}
GET /users(.:format)? {:controller=>"users", :action=>"index"}
POST /users(.:format)? {:controller=>"users", :action=>"create"}
GET /users/new(.:format)? {:controller=>"users", :action=>"new"}
GET /users/:id/edit(.:format)? {:controller=>"users", :action=>"edit"}
GET /users/:id(.:format)? {:controller=>"users", :action=>"show"}
PUT /users/:id(.:format)? {:controller=>"users", :action=>"update"}
DELETE /users/:id(.:format)? {:controller=>"users", :action=>"destroy"}
GET /line_items(.:format)? {:controller=>"line_items", :action=>"index"}
POST /line_items(.:format)? {:controller=>"line_items", :action=>"create"}
GET /line_items/new(.:format)? {:controller=>"line_items", :action=>"new"}
GET /line_items/:id/edit(.:format)? {:controller=>"line_items", :action=>"edit"}
GET /line_items/:id(.:format)? {:controller=>"line_items", :action=>"show"}
PUT /line_items/:id(.:format)? {:controller=>"line_items", :action=>"update"}
DELETE /line_items/:id(.:format)? {:controller=>"line_items", :action=>"destroy"}
GET /orders(.:format)? {:controller=>"orders", :action=>"index"}
POST /orders(.:format)? {:controller=>"orders", :action=>"create"}
GET /orders/new(.:format)? {:controller=>"orders", :action=>"new"}
GET /orders/:id/edit(.:format)? {:controller=>"orders", :action=>"edit"}
GET /orders/:id(.:format)? {:controller=>"orders", :action=>"show"}
PUT /orders/:id(.:format)? {:controller=>"orders", :action=>"update"}
DELETE /orders/:id(.:format)? {:controller=>"orders", :action=>"destroy"}
GET /products(.:format)? {:controller=>"products", :action=>"index"}
POST /products(.:format)? {:controller=>"products", :action=>"create"}
GET /products/new(.:format)? {:controller=>"products", :action=>"new"}
GET /products/:id/edit(.:format)? {:controller=>"products", :action=>"edit"}
GET /products/:id(.:format)? {:controller=>"products", :action=>"show"}
PUT /products/:id(.:format)? {:controller=>"products", :action=>"update"}
DELETE /products/:id(.:format)? {:controller=>"products", :action=>"destroy"}
ANY /:controller/:action/:id/ {}
ANY /:controller/:action/:id(.:format)? {}
=> nil
>> rs.recognize_path "/store"
=> {:controller=>"store", :action=>"index"}
>> rs.recognize_path "/store/add_to_cart/1"
=> {:controller=>"store", :id=>"1", :action=>"add_to_cart"}
>> rs.recognize_path "/store/add_to_cart/1.xml"
=> {:format=>"xml", :controller=>"store", :id=>"1", :action=>"add_to_cart"}
>> rs.generate :controller => :store
=> "/store"
>> rs.generate :controller => :store, :id => 123
=> "/store/index/123"
>> rs.recognize_path "/coupon/show/1"
=> {:controller=>"coupon", :id=>"1", :action=>"show"}
>> load "config/routes.rb"
=> []
>> rs.recognize_path "/coupon/show/1"
=> {:controller=>"coupon", :id=>"1", :action=>"show"}
>> app.url_for :controller => :store, :action => :display, :id => 123
=> "http://www.example.com/store/display/123"
ruby -rubygems /home/rubys/git/rails/railties/bin/rails view
create
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
create config/initializers
create config/locales
create db
create doc
create lib
create lib/tasks
create log
create public/images
create public/javascripts
create public/stylesheets
create script/performance
create test/fixtures
create test/functional
create test/integration
create test/performance
create test/unit
create vendor
create vendor/plugins
create tmp/sessions
create tmp/sockets
create tmp/cache
create tmp/pids
create Rakefile
create README
create app/controllers/application_controller.rb
create app/helpers/application_helper.rb
create config/database.yml
create config/routes.rb
create config/locales/en.yml
create db/seeds.rb
create config/initializers/backtrace_silencers.rb
create config/initializers/inflections.rb
create config/initializers/mime_types.rb
create config/initializers/new_rails_defaults.rb
create config/initializers/session_store.rb
create config/initializers/cookie_verification_secret.rb
create config/environment.rb
create config/boot.rb
create config/environments/production.rb
create config/environments/development.rb
create config/environments/test.rb
create script/about
create script/console
create script/dbconsole
create script/destroy
create script/generate
create script/runner
create script/server
create script/plugin
create script/performance/benchmarker
create script/performance/profiler
create test/test_helper.rb
create test/performance/browsing_test.rb
create public/404.html
create public/422.html
create public/500.html
create public/index.html
create public/favicon.ico
create public/robots.txt
create public/images/rails.png
create public/javascripts/prototype.js
create public/javascripts/effects.js
create public/javascripts/dragdrop.js
create public/javascripts/controls.js
create public/javascripts/application.js
create doc/README_FOR_APP
create log/server.log
create log/production.log
create log/development.log
create log/test.log
cp -v /home/rubys/git/awdwr/data/code/e1/views/app/controllers/*.rb app/controllers
`/home/rubys/git/awdwr/data/code/e1/views/app/controllers/array_controller.rb' -> `app/controllers/array_controller.rb'
`/home/rubys/git/awdwr/data/code/e1/views/app/controllers/article_controller.rb' -> `app/controllers/article_controller.rb'
`/home/rubys/git/awdwr/data/code/e1/views/app/controllers/blog1_controller.rb' -> `app/controllers/blog1_controller.rb'
`/home/rubys/git/awdwr/data/code/e1/views/app/controllers/blog2_controller.rb' -> `app/controllers/blog2_controller.rb'
`/home/rubys/git/awdwr/data/code/e1/views/app/controllers/blog_controller.rb' -> `app/controllers/blog_controller.rb'
`/home/rubys/git/awdwr/data/code/e1/views/app/controllers/builder_controller.rb' -> `app/controllers/builder_controller.rb'
`/home/rubys/git/awdwr/data/code/e1/views/app/controllers/form_controller.rb' -> `app/controllers/form_controller.rb'
`/home/rubys/git/awdwr/data/code/e1/views/app/controllers/form_for_controller.rb' -> `app/controllers/form_for_controller.rb'
`/home/rubys/git/awdwr/data/code/e1/views/app/controllers/pager_controller.rb' -> `app/controllers/pager_controller.rb'
`/home/rubys/git/awdwr/data/code/e1/views/app/controllers/partial_controller.rb' -> `app/controllers/partial_controller.rb'
`/home/rubys/git/awdwr/data/code/e1/views/app/controllers/products_controller.rb' -> `app/controllers/products_controller.rb'
`/home/rubys/git/awdwr/data/code/e1/views/app/controllers/rhtml_controller.rb' -> `app/controllers/rhtml_controller.rb'
`/home/rubys/git/awdwr/data/code/e1/views/app/controllers/test_controller.rb' -> `app/controllers/test_controller.rb'
`/home/rubys/git/awdwr/data/code/e1/views/app/controllers/upload_controller.rb' -> `app/controllers/upload_controller.rb'
irb e1/routing/config2/routes_for_blog.rb
>> require 'rubygems'
=> false
>> require 'action_controller'
=> true
>> ActionController::Base.session_store = nil
=> nil
>> ActionController::Routing.use_controllers! [ "article", "blog" ]
=> ["article", "blog"]
>> rs = ActionController::Routing::Routes
=> #<ActionController::Routing::RouteSet:0xb6fbe918 @named_routes=#<ActionController::Routing::RouteSet::NamedRouteCollection:0xb6fb942c @routes={}, @helpers=[], @module=#<Module:0xb6fb93c8>>, @routes=[], @configuration_files=[]>
>> app = ActionController::Integration::Session.new
=> #<ActionController::Integration::Session:0xb6e3cb58 @request_count=0, @status=nil, @response=nil, @host="www.example.com", @https=false, @application=#<ActionController::Dispatcher:0xb6e334e0 @app=#<Rack::Lock:0xb6e27208 @lock=#<Mutex:0xb6e27154>, @app=#<ActionController::Failsafe:0xb6e272e4 @app=#<ActionController::ParamsParser:0xb6e273c0 @app=#<Rack::MethodOverride:0xb6e2749c @app=#<Rack::Head:0xb6e27578 @app=#<ActionController::StringCoercion:0xb6e277f8 @app=#<Proc:0xb6e39a20@/home/rubys/git/awdwr/work-238/view/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:130>>>>>>>, @output=#<IO:0xb7579574>>, @request=nil, @accept="text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5", @status_message=nil, @path=nil, @named_routes_configured=true, @controller=nil, @remote_addr="127.0.0.1", @cookies={}, @result=nil, @headers=nil>
?> ActionController::Routing::Routes.draw do |map|
?> # Straight 'http://my.app/blog/' displays the index
?> map.connect "blog/",
?> :controller => "blog",
?> :action => "index"
?> # Return articles for a year, year/month, or year/month/day
?> 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
>> # Show an article identified by an id
?> map.connect "blog/show/:id",
?> :controller => "blog",
?> :action => "show",
?> :id => /\d+/
>> # Regular Rails routing for admin stuff
?> map.connect "blog/:controller/:action/:id"
>> # Catchall so we can gracefully handle badly formed requests
?> map.connect "*anything",
?> :controller => "blog",
?> :action => "unknown_request"
>> end
=> [ActionController::Base, ActionView::Base]
>> rs.recognize_path "/blog"
=> {:action=>"index", :controller=>"blog"}
>> rs.recognize_path "/blog/show/123"
=> {:action=>"show", :id=>"123", :controller=>"blog"}
>> rs.recognize_path "/blog/2004"
=> {:year=>"2004", :action=>"show_date", :controller=>"blog"}
>> rs.recognize_path "/blog/2004/12"
=> {:month=>"12", :year=>"2004", :action=>"show_date", :controller=>"blog"}
>> rs.recognize_path "/blog/2004/12/25"
=> {:month=>"12", :year=>"2004", :action=>"show_date", :day=>"25", :controller=>"blog"}
>> rs.recognize_path "/blog/article/edit/123"
=> {:action=>"edit", :id=>"123", :controller=>"article"}
>> rs.recognize_path "/blog/article/show_stats"
=> {:action=>"show_stats", :controller=>"article"}
>> rs.recognize_path "/blog/wibble"
=> {:anything=>["blog", "wibble"], :action=>"unknown_request", :controller=>"blog"}
>> rs.recognize_path "/junk"
=> {:anything=>["junk"], :action=>"unknown_request", :controller=>"blog"}
>> last_request = rs.recognize_path "/blog/2006/07/28"
=> {:month=>"07", :year=>"2006", :action=>"show_date", :day=>"28", :controller=>"blog"}
>> rs.generate({:day => 25}, last_request)
=> "/blog/2006/07/25"
>> rs.generate({:year => 2005}, last_request)
=> "/blog/2005"
>> app.url_for :controller => 'blog', :action => 'show_date', :year => 2002
=> "http://www.example.com/blog/2002"
>> app.url_for :controller => 'blog', :action => 'show_date', :overwrite_params => {:year => "2002" }
DEPRECATION WARNING: The :overwrite_params option is deprecated. Specify all the necessary parameters instead. (called from url_for at /home/rubys/git/awdwr/work-238/view/vendor/rails/actionpack/lib/action_controller/integration.rb:244)
=> "http://www.example.com/blog/2002"
23.3 Helpers for Formatting, Linking, and Pagination 21 Action Controller: Routing and URLs