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:0xb6bcf3c0 @configuration_files=["/home/rubys/git/awdwr/work-236/depot/config/routes.rb"], @routes_last_modified=Sun May 23 03:11:58 -0400 2010, @routes_by_controller=nil, @named_routes=#<ActionController::Routing::RouteSet::NamedRouteCollection:0xb6bc91dc @module=#<Module:0xb6bc9150>, @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={:users=>#<ActionController::Routing::Route:0xb718f79c @controller_requirement="users", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"index", :controller=>"users"}, @to_s="GET /users(.:format)? {:action=>\"index\", :controller=>\"users\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb718ff08 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb718fe68 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0xb718fddc @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="index", @defaults={:action=>"index", :controller=>"users"}, @matching_prepared=true, @requirements={:action=>"index", :controller=>"users"}>, :edit_order=>#<ActionController::Routing::Route:0xb72fc8c8 @controller_requirement="orders", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"edit", :controller=>"orders"}, @to_s="GET /orders/:id/edit(.:format)? {:action=>\"edit\", :controller=>\"orders\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb72fda84 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb72fd958 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb72fd840 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb72fd304 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::DividerSegment:0xb72fd0e8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb72fd00c @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb72fce54 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="edit", @defaults={:action=>"edit", :controller=>"orders"}, @matching_prepared=true, @requirements={:action=>"edit", :controller=>"orders"}>, :edit_line_item=>#<ActionController::Routing::Route:0xb708a16c @controller_requirement="line_items", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"edit", :controller=>"line_items"}, @to_s="GET /line_items/:id/edit(.:format)? {:action=>\"edit\", :controller=>\"line_items\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb708da74 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb708c82c @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb708bf80 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb708bc38 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::DividerSegment:0xb708b9b8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb708b8f0 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb708b530 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="edit", @defaults={:action=>"edit", :controller=>"line_items"}, @matching_prepared=true, @requirements={:action=>"edit", :controller=>"line_items"}>, :line_items=>#<ActionController::Routing::Route:0xb7114fb0 @controller_requirement="line_items", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"index", :controller=>"line_items"}, @to_s="GET /line_items(.:format)? {:action=>\"index\", :controller=>\"line_items\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb7116130 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7115fc8 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0xb7115d84 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="index", @defaults={:action=>"index", :controller=>"line_items"}, @matching_prepared=true, @requirements={:action=>"index", :controller=>"line_items"}>, :new_user=>#<ActionController::Routing::Route:0xb7168c28 @controller_requirement="users", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"new", :controller=>"users"}, @to_s="GET /users/new(.:format)? {:action=>\"new\", :controller=>\"users\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb7169d94 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7169ca4 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb7169b8c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7169a9c @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb71699ac @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="new", @defaults={:action=>"new", :controller=>"users"}, @matching_prepared=true, @requirements={:action=>"new", :controller=>"users"}>, :order=>#<ActionController::Routing::Route:0xb7403f14 @controller_requirement="orders", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"show", :controller=>"orders"}, @to_s="GET /orders/:id(.:format)? {:action=>\"show\", :controller=>\"orders\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb726c174 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb726a7d4 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb7265978 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb7263240 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb7261e68 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="show", @defaults={:action=>"show", :controller=>"orders"}, @matching_prepared=true, @requirements={:action=>"show", :controller=>"orders"}>, :orders=>#<ActionController::Routing::Route:0xb703f1d0 @controller_requirement="orders", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"index", :controller=>"orders"}, @to_s="GET /orders(.:format)? {:action=>\"index\", :controller=>\"orders\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb703fd9c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb703fce8 @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0xb703fc5c @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="index", @defaults={:action=>"index", :controller=>"orders"}, @matching_prepared=true, @requirements={:action=>"index", :controller=>"orders"}>, :product=>#<ActionController::Routing::Route:0xb6a3dc14 @controller_requirement="products", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"show", :controller=>"products"}, @to_s="GET /products/:id(.:format)? {:action=>\"show\", :controller=>\"products\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb6a3e3bc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a3e31c @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6a3e268 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a3e1c8 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb6a3e150 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="show", @defaults={:action=>"show", :controller=>"products"}, @matching_prepared=true, @requirements={:action=>"show", :controller=>"products"}>, :line_item=>#<ActionController::Routing::Route:0xb706af4c @controller_requirement="line_items", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"show", :controller=>"line_items"}, @to_s="GET /line_items/:id(.:format)? {:action=>\"show\", :controller=>\"line_items\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb706c4c8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb706c39c @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb706bf64 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb706bb54 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb706b7a8 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="show", @defaults={:action=>"show", :controller=>"line_items"}, @matching_prepared=true, @requirements={:action=>"show", :controller=>"line_items"}>, :edit_user=>#<ActionController::Routing::Route:0xb7148eb4 @controller_requirement="users", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"edit", :controller=>"users"}, @to_s="GET /users/:id/edit(.:format)? {:action=>\"edit\", :controller=>\"users\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb714a2a0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb714a1b0 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb7149ff8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb7149f1c @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::DividerSegment:0xb7149e18 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7149cc4 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb7149bfc @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="edit", @defaults={:action=>"edit", :controller=>"users"}, @matching_prepared=true, @requirements={:action=>"edit", :controller=>"users"}>, :new_product=>#<ActionController::Routing::Route:0xb6a4cf34 @controller_requirement="products", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"new", :controller=>"products"}, @to_s="GET /products/new(.:format)? {:action=>\"new\", :controller=>\"products\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb6a4d5b0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a4d510 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6a4d45c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a4d3bc @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb6a4d344 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="new", @defaults={:action=>"new", :controller=>"products"}, @matching_prepared=true, @requirements={:action=>"new", :controller=>"products"}>, :products=>#<ActionController::Routing::Route:0xb74db838 @controller_requirement="products", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"index", :controller=>"products"}, @to_s="GET /products(.:format)? {:action=>\"index\", :controller=>\"products\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb74dd3a4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb74dd2b4 @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0xb74dd214 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="index", @defaults={:action=>"index", :controller=>"products"}, @matching_prepared=true, @requirements={:action=>"index", :controller=>"products"}>, :user=>#<ActionController::Routing::Route:0xb713d078 @controller_requirement="users", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"show", :controller=>"users"}, @to_s="GET /users/:id(.:format)? {:action=>\"show\", :controller=>\"users\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb713fc24 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb713faf8 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb713f800 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb713f620 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb713f51c @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="show", @defaults={:action=>"show", :controller=>"users"}, @matching_prepared=true, @requirements={:action=>"show", :controller=>"users"}>, :edit_product=>#<ActionController::Routing::Route:0xb6a43970 @controller_requirement="products", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"edit", :controller=>"products"}, @to_s="GET /products/:id/edit(.:format)? {:action=>\"edit\", :controller=>\"products\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb6a442bc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a4421c @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6a44168 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a440c8 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::DividerSegment:0xb6a44014 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a43f74 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb6a43efc @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="edit", @defaults={:action=>"edit", :controller=>"products"}, @matching_prepared=true, @requirements={:action=>"edit", :controller=>"products"}>, :new_order=>#<ActionController::Routing::Route:0xb732a688 @controller_requirement="orders", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"new", :controller=>"orders"}, @to_s="GET /orders/new(.:format)? {:action=>\"new\", :controller=>\"orders\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb732bba0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb732bb00 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb732b72c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb732b5ec @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb732b54c @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="new", @defaults={:action=>"new", :controller=>"orders"}, @matching_prepared=true, @requirements={:action=>"new", :controller=>"orders"}>, :new_line_item=>#<ActionController::Routing::Route:0xb70bb050 @controller_requirement="line_items", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"new", :controller=>"line_items"}, @to_s="GET /line_items/new(.:format)? {:action=>\"new\", :controller=>\"line_items\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb70bc2d4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb70bc068 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb70bbd34 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb70bbc1c @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb70bbb7c @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="new", @defaults={:action=>"new", :controller=>"line_items"}, @matching_prepared=true, @requirements={:action=>"new", :controller=>"line_items"}>}>, @combined_regexp=nil, @builder=#<ActionController::Routing::RouteBuilder:0xb7190138 @separators=["/", ".", "?"], @nonseparator_regexp=/\A([^\/\.\?]+)/, @separator_regexp=/[\/\.\?]/, @optional_separators=["/"], @interval_regexp=/(.*?)((?-mix:[\/\.\?])|$)/>, @routes=[#<ActionController::Routing::Route:0xb718f79c @controller_requirement="users", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"index", :controller=>"users"}, @to_s="GET /users(.:format)? {:action=>\"index\", :controller=>\"users\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb718ff08 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb718fe68 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0xb718fddc @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="index", @defaults={:action=>"index", :controller=>"users"}, @matching_prepared=true, @requirements={:action=>"index", :controller=>"users"}>, #<ActionController::Routing::Route:0xb716d688 @controller_requirement="users", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"create", :controller=>"users"}, @to_s="POST /users(.:format)? {:action=>\"create\", :controller=>\"users\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb716db60 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb716dac0 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0xb716da48 @is_optional=true, @key=:format>], @conditions={:method=>:post}, @action_requirement="create", @defaults={:action=>"create", :controller=>"users"}, @matching_prepared=true, @requirements={:action=>"create", :controller=>"users"}>, #<ActionController::Routing::Route:0xb7168c28 @controller_requirement="users", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"new", :controller=>"users"}, @to_s="GET /users/new(.:format)? {:action=>\"new\", :controller=>\"users\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb7169d94 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7169ca4 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb7169b8c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7169a9c @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb71699ac @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="new", @defaults={:action=>"new", :controller=>"users"}, @matching_prepared=true, @requirements={:action=>"new", :controller=>"users"}>, #<ActionController::Routing::Route:0xb7148eb4 @controller_requirement="users", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"edit", :controller=>"users"}, @to_s="GET /users/:id/edit(.:format)? {:action=>\"edit\", :controller=>\"users\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb714a2a0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb714a1b0 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb7149ff8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb7149f1c @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::DividerSegment:0xb7149e18 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7149cc4 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb7149bfc @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="edit", @defaults={:action=>"edit", :controller=>"users"}, @matching_prepared=true, @requirements={:action=>"edit", :controller=>"users"}>, #<ActionController::Routing::Route:0xb713d078 @controller_requirement="users", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"show", :controller=>"users"}, @to_s="GET /users/:id(.:format)? {:action=>\"show\", :controller=>\"users\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb713fc24 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb713faf8 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb713f800 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb713f620 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb713f51c @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="show", @defaults={:action=>"show", :controller=>"users"}, @matching_prepared=true, @requirements={:action=>"show", :controller=>"users"}>, #<ActionController::Routing::Route:0xb712f11c @controller_requirement="users", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"update", :controller=>"users"}, @to_s="PUT /users/:id(.:format)? {:action=>\"update\", :controller=>\"users\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb713097c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb71308c8 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb7130814 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb7130760 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb71306d4 @is_optional=true, @key=:format>], @conditions={:method=>:put}, @action_requirement="update", @defaults={:action=>"update", :controller=>"users"}, @matching_prepared=true, @requirements={:action=>"update", :controller=>"users"}>, #<ActionController::Routing::Route:0xb712471c @controller_requirement="users", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"destroy", :controller=>"users"}, @to_s="DELETE /users/:id(.:format)? {:action=>\"destroy\", :controller=>\"users\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb7126508 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7126454 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb7126364 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb71262b0 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb71261fc @is_optional=true, @key=:format>], @conditions={:method=>:delete}, @action_requirement="destroy", @defaults={:action=>"destroy", :controller=>"users"}, @matching_prepared=true, @requirements={:action=>"destroy", :controller=>"users"}>, #<ActionController::Routing::Route:0xb7114fb0 @controller_requirement="line_items", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"index", :controller=>"line_items"}, @to_s="GET /line_items(.:format)? {:action=>\"index\", :controller=>\"line_items\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb7116130 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb7115fc8 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0xb7115d84 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="index", @defaults={:action=>"index", :controller=>"line_items"}, @matching_prepared=true, @requirements={:action=>"index", :controller=>"line_items"}>, #<ActionController::Routing::Route:0xb70c2c74 @controller_requirement="line_items", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"create", :controller=>"line_items"}, @to_s="POST /line_items(.:format)? {:action=>\"create\", :controller=>\"line_items\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb70c3520 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb70c3458 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0xb70c33cc @is_optional=true, @key=:format>], @conditions={:method=>:post}, @action_requirement="create", @defaults={:action=>"create", :controller=>"line_items"}, @matching_prepared=true, @requirements={:action=>"create", :controller=>"line_items"}>, #<ActionController::Routing::Route:0xb70bb050 @controller_requirement="line_items", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"new", :controller=>"line_items"}, @to_s="GET /line_items/new(.:format)? {:action=>\"new\", :controller=>\"line_items\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb70bc2d4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb70bc068 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb70bbd34 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb70bbc1c @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb70bbb7c @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="new", @defaults={:action=>"new", :controller=>"line_items"}, @matching_prepared=true, @requirements={:action=>"new", :controller=>"line_items"}>, #<ActionController::Routing::Route:0xb708a16c @controller_requirement="line_items", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"edit", :controller=>"line_items"}, @to_s="GET /line_items/:id/edit(.:format)? {:action=>\"edit\", :controller=>\"line_items\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb708da74 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb708c82c @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb708bf80 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb708bc38 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::DividerSegment:0xb708b9b8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb708b8f0 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb708b530 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="edit", @defaults={:action=>"edit", :controller=>"line_items"}, @matching_prepared=true, @requirements={:action=>"edit", :controller=>"line_items"}>, #<ActionController::Routing::Route:0xb706af4c @controller_requirement="line_items", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"show", :controller=>"line_items"}, @to_s="GET /line_items/:id(.:format)? {:action=>\"show\", :controller=>\"line_items\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb706c4c8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb706c39c @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb706bf64 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb706bb54 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb706b7a8 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="show", @defaults={:action=>"show", :controller=>"line_items"}, @matching_prepared=true, @requirements={:action=>"show", :controller=>"line_items"}>, #<ActionController::Routing::Route:0xb70596c0 @controller_requirement="line_items", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"update", :controller=>"line_items"}, @to_s="PUT /line_items/:id(.:format)? {:action=>\"update\", :controller=>\"line_items\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb705a1c4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb705a124 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb705a048 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb7059fa8 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb7059f30 @is_optional=true, @key=:format>], @conditions={:method=>:put}, @action_requirement="update", @defaults={:action=>"update", :controller=>"line_items"}, @matching_prepared=true, @requirements={:action=>"update", :controller=>"line_items"}>, #<ActionController::Routing::Route:0xb704f904 @controller_requirement="line_items", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"destroy", :controller=>"line_items"}, @to_s="DELETE /line_items/:id(.:format)? {:action=>\"destroy\", :controller=>\"line_items\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb7051b8c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb70519ac @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb7051808 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb70515b0 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb70514c0 @is_optional=true, @key=:format>], @conditions={:method=>:delete}, @action_requirement="destroy", @defaults={:action=>"destroy", :controller=>"line_items"}, @matching_prepared=true, @requirements={:action=>"destroy", :controller=>"line_items"}>, #<ActionController::Routing::Route:0xb703f1d0 @controller_requirement="orders", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"index", :controller=>"orders"}, @to_s="GET /orders(.:format)? {:action=>\"index\", :controller=>\"orders\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb703fd9c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb703fce8 @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0xb703fc5c @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="index", @defaults={:action=>"index", :controller=>"orders"}, @matching_prepared=true, @requirements={:action=>"index", :controller=>"orders"}>, #<ActionController::Routing::Route:0xb733dc10 @controller_requirement="orders", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"create", :controller=>"orders"}, @to_s="POST /orders(.:format)? {:action=>\"create\", :controller=>\"orders\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb73411a8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb734062c @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0xb733fd80 @is_optional=true, @key=:format>], @conditions={:method=>:post}, @action_requirement="create", @defaults={:action=>"create", :controller=>"orders"}, @matching_prepared=true, @requirements={:action=>"create", :controller=>"orders"}>, #<ActionController::Routing::Route:0xb732a688 @controller_requirement="orders", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"new", :controller=>"orders"}, @to_s="GET /orders/new(.:format)? {:action=>\"new\", :controller=>\"orders\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb732bba0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb732bb00 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb732b72c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb732b5ec @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb732b54c @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="new", @defaults={:action=>"new", :controller=>"orders"}, @matching_prepared=true, @requirements={:action=>"new", :controller=>"orders"}>, #<ActionController::Routing::Route:0xb72fc8c8 @controller_requirement="orders", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"edit", :controller=>"orders"}, @to_s="GET /orders/:id/edit(.:format)? {:action=>\"edit\", :controller=>\"orders\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb72fda84 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb72fd958 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb72fd840 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb72fd304 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::DividerSegment:0xb72fd0e8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb72fd00c @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb72fce54 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="edit", @defaults={:action=>"edit", :controller=>"orders"}, @matching_prepared=true, @requirements={:action=>"edit", :controller=>"orders"}>, #<ActionController::Routing::Route:0xb7403f14 @controller_requirement="orders", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"show", :controller=>"orders"}, @to_s="GET /orders/:id(.:format)? {:action=>\"show\", :controller=>\"orders\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb726c174 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb726a7d4 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb7265978 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb7263240 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb7261e68 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="show", @defaults={:action=>"show", :controller=>"orders"}, @matching_prepared=true, @requirements={:action=>"show", :controller=>"orders"}>, #<ActionController::Routing::Route:0xb7374be8 @controller_requirement="orders", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"update", :controller=>"orders"}, @to_s="PUT /orders/:id(.:format)? {:action=>\"update\", :controller=>\"orders\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb7381e88 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb737ca28 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb737b844 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb737a494 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb7379be8 @is_optional=true, @key=:format>], @conditions={:method=>:put}, @action_requirement="update", @defaults={:action=>"update", :controller=>"orders"}, @matching_prepared=true, @requirements={:action=>"update", :controller=>"orders"}>, #<ActionController::Routing::Route:0xb749aa68 @controller_requirement="orders", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"destroy", :controller=>"orders"}, @to_s="DELETE /orders/:id(.:format)? {:action=>\"destroy\", :controller=>\"orders\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb74a4e00 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb74a4a90 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb74a4324 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb74a3e10 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb74a3af0 @is_optional=true, @key=:format>], @conditions={:method=>:delete}, @action_requirement="destroy", @defaults={:action=>"destroy", :controller=>"orders"}, @matching_prepared=true, @requirements={:action=>"destroy", :controller=>"orders"}>, #<ActionController::Routing::Route:0xb74db838 @controller_requirement="products", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"index", :controller=>"products"}, @to_s="GET /products(.:format)? {:action=>\"index\", :controller=>\"products\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb74dd3a4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb74dd2b4 @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0xb74dd214 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="index", @defaults={:action=>"index", :controller=>"products"}, @matching_prepared=true, @requirements={:action=>"index", :controller=>"products"}>, #<ActionController::Routing::Route:0xb6a4f414 @controller_requirement="products", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"create", :controller=>"products"}, @to_s="POST /products(.:format)? {:action=>\"create\", :controller=>\"products\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb6a4f8ec @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a4f84c @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0xb6a4f7d4 @is_optional=true, @key=:format>], @conditions={:method=>:post}, @action_requirement="create", @defaults={:action=>"create", :controller=>"products"}, @matching_prepared=true, @requirements={:action=>"create", :controller=>"products"}>, #<ActionController::Routing::Route:0xb6a4cf34 @controller_requirement="products", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"new", :controller=>"products"}, @to_s="GET /products/new(.:format)? {:action=>\"new\", :controller=>\"products\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb6a4d5b0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a4d510 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6a4d45c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a4d3bc @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb6a4d344 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="new", @defaults={:action=>"new", :controller=>"products"}, @matching_prepared=true, @requirements={:action=>"new", :controller=>"products"}>, #<ActionController::Routing::Route:0xb6a43970 @controller_requirement="products", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"edit", :controller=>"products"}, @to_s="GET /products/:id/edit(.:format)? {:action=>\"edit\", :controller=>\"products\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb6a442bc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a4421c @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6a44168 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a440c8 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::DividerSegment:0xb6a44014 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a43f74 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb6a43efc @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="edit", @defaults={:action=>"edit", :controller=>"products"}, @matching_prepared=true, @requirements={:action=>"edit", :controller=>"products"}>, #<ActionController::Routing::Route:0xb6a3dc14 @controller_requirement="products", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"show", :controller=>"products"}, @to_s="GET /products/:id(.:format)? {:action=>\"show\", :controller=>\"products\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb6a3e3bc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a3e31c @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6a3e268 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a3e1c8 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb6a3e150 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="show", @defaults={:action=>"show", :controller=>"products"}, @matching_prepared=true, @requirements={:action=>"show", :controller=>"products"}>, #<ActionController::Routing::Route:0xb6a37fa8 @controller_requirement="products", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"update", :controller=>"products"}, @to_s="PUT /products/:id(.:format)? {:action=>\"update\", :controller=>\"products\"}", @optimise=false, @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 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb6a384e4 @is_optional=true, @key=:format>], @conditions={:method=>:put}, @action_requirement="update", @defaults={:action=>"update", :controller=>"products"}, @matching_prepared=true, @requirements={:action=>"update", :controller=>"products"}>, #<ActionController::Routing::Route:0xb6a34e34 @controller_requirement="products", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"destroy", :controller=>"products"}, @to_s="DELETE /products/:id(.:format)? {:action=>\"destroy\", :controller=>\"products\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb6a355dc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a3553c @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb6a35488 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a353e8 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb6a35370 @is_optional=true, @key=:format>], @conditions={:method=>:delete}, @action_requirement="destroy", @defaults={:action=>"destroy", :controller=>"products"}, @matching_prepared=true, @requirements={:action=>"destroy", :controller=>"products"}>, #<ActionController::Routing::Route:0xb6a3210c @controller_requirement=nil, @significant_keys=[:controller, :action, :id], @parameter_shell={}, @to_s="ANY /:controller/:action/:id/ {}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb6a32684 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::ControllerSegment:0xb6a325e4 @is_optional=false, @key=:controller>, #<ActionController::Routing::DividerSegment:0xb6a32530 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a32490 @default="index", @is_optional=true, @key=:action>, #<ActionController::Routing::DividerSegment:0xb6a323dc @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a3233c @is_optional=true, @key=:id>, #<ActionController::Routing::DividerSegment:0xb6a32288 @is_optional=true, @raw=true, @value="/">], @conditions={}, @action_requirement=nil, @defaults={:action=>"index"}, @matching_prepared=true, @requirements={}>, #<ActionController::Routing::Route:0xb6a2d904 @controller_requirement=nil, @significant_keys=[:controller, :action, :id, :format], @parameter_shell={}, @to_s="ANY /:controller/:action/:id(.:format)? {}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb6a2de54 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::ControllerSegment:0xb6a2ddb4 @is_optional=false, @key=:controller>, #<ActionController::Routing::DividerSegment:0xb6a2dd00 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a2dc60 @default="index", @is_optional=true, @key=:action>, #<ActionController::Routing::DividerSegment:0xb6a2dbac @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a2db0c @is_optional=true, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb6a2da94 @is_optional=true, @key=:format>], @conditions={}, @action_requirement=nil, @defaults={:action=>"index"}, @matching_prepared=true, @requirements={}>, #<ActionController::Routing::Route:0xb6a1e044 @controller_requirement="users", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"index", :controller=>"users"}, @to_s="GET /users(.:format)? {:action=>\"index\", :controller=>\"users\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb6a1e51c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a1e47c @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0xb6a1e404 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="index", @defaults={:action=>"index", :controller=>"users"}, @matching_prepared=true, @requirements={:action=>"index", :controller=>"users"}>, #<ActionController::Routing::Route:0xb6a1bdf8 @controller_requirement="users", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"create", :controller=>"users"}, @to_s="POST /users(.:format)? {:action=>\"create\", :controller=>\"users\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb6a1c2d0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a1c230 @is_optional=false, @value="users">, #<ActionController::Routing::OptionalFormatSegment:0xb6a1c1b8 @is_optional=true, @key=:format>], @conditions={:method=>:post}, @action_requirement="create", @defaults={:action=>"create", :controller=>"users"}, @matching_prepared=true, @requirements={:action=>"create", :controller=>"users"}>, #<ActionController::Routing::Route:0xb6a1992c @controller_requirement="users", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"new", :controller=>"users"}, @to_s="GET /users/new(.:format)? {:action=>\"new\", :controller=>\"users\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb6a19fa8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a19f08 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb6a19e54 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a19db4 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb6a19d3c @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="new", @defaults={:action=>"new", :controller=>"users"}, @matching_prepared=true, @requirements={:action=>"new", :controller=>"users"}>, #<ActionController::Routing::Route:0xb6a16fd8 @controller_requirement="users", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"edit", :controller=>"users"}, @to_s="GET /users/:id/edit(.:format)? {:action=>\"edit\", :controller=>\"users\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb6a17924 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a17884 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb6a177d0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a17730 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::DividerSegment:0xb6a1767c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a175dc @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb6a17564 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="edit", @defaults={:action=>"edit", :controller=>"users"}, @matching_prepared=true, @requirements={:action=>"edit", :controller=>"users"}>, #<ActionController::Routing::Route:0xb6a13d9c @controller_requirement="users", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"show", :controller=>"users"}, @to_s="GET /users/:id(.:format)? {:action=>\"show\", :controller=>\"users\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb6a14544 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a144a4 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb6a143f0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a14350 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb6a142d8 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="show", @defaults={:action=>"show", :controller=>"users"}, @matching_prepared=true, @requirements={:action=>"show", :controller=>"users"}>, #<ActionController::Routing::Route:0xb6a10c3c @controller_requirement="users", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"update", :controller=>"users"}, @to_s="PUT /users/:id(.:format)? {:action=>\"update\", :controller=>\"users\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb6a113e4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a11344 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb6a11290 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a111f0 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb6a11178 @is_optional=true, @key=:format>], @conditions={:method=>:put}, @action_requirement="update", @defaults={:action=>"update", :controller=>"users"}, @matching_prepared=true, @requirements={:action=>"update", :controller=>"users"}>, #<ActionController::Routing::Route:0xb6a0dac8 @controller_requirement="users", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"destroy", :controller=>"users"}, @to_s="DELETE /users/:id(.:format)? {:action=>\"destroy\", :controller=>\"users\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb6a0e270 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a0e1d0 @is_optional=false, @value="users">, #<ActionController::Routing::DividerSegment:0xb6a0e11c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a0e07c @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb6a0e004 @is_optional=true, @key=:format>], @conditions={:method=>:delete}, @action_requirement="destroy", @defaults={:action=>"destroy", :controller=>"users"}, @matching_prepared=true, @requirements={:action=>"destroy", :controller=>"users"}>, #<ActionController::Routing::Route:0xb6a0a6c0 @controller_requirement="line_items", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"index", :controller=>"line_items"}, @to_s="GET /line_items(.:format)? {:action=>\"index\", :controller=>\"line_items\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb6a0ab98 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a0aaf8 @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0xb6a0aa80 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="index", @defaults={:action=>"index", :controller=>"line_items"}, @matching_prepared=true, @requirements={:action=>"index", :controller=>"line_items"}>, #<ActionController::Routing::Route:0xb6a08474 @controller_requirement="line_items", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"create", :controller=>"line_items"}, @to_s="POST /line_items(.:format)? {:action=>\"create\", :controller=>\"line_items\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb6a0894c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a088ac @is_optional=false, @value="line_items">, #<ActionController::Routing::OptionalFormatSegment:0xb6a08834 @is_optional=true, @key=:format>], @conditions={:method=>:post}, @action_requirement="create", @defaults={:action=>"create", :controller=>"line_items"}, @matching_prepared=true, @requirements={:action=>"create", :controller=>"line_items"}>, #<ActionController::Routing::Route:0xb6a05fa8 @controller_requirement="line_items", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"new", :controller=>"line_items"}, @to_s="GET /line_items/new(.:format)? {:action=>\"new\", :controller=>\"line_items\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb6a06624 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a06584 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb6a064d0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a06430 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb6a063b8 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="new", @defaults={:action=>"new", :controller=>"line_items"}, @matching_prepared=true, @requirements={:action=>"new", :controller=>"line_items"}>, #<ActionController::Routing::Route:0xb6a03654 @controller_requirement="line_items", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"edit", :controller=>"line_items"}, @to_s="GET /line_items/:id/edit(.:format)? {:action=>\"edit\", :controller=>\"line_items\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb6a03fa0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a03f00 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb6a03e4c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a03dac @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::DividerSegment:0xb6a03cf8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a03c58 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb6a03be0 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="edit", @defaults={:action=>"edit", :controller=>"line_items"}, @matching_prepared=true, @requirements={:action=>"edit", :controller=>"line_items"}>, #<ActionController::Routing::Route:0xb6a00418 @controller_requirement="line_items", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"show", :controller=>"line_items"}, @to_s="GET /line_items/:id(.:format)? {:action=>\"show\", :controller=>\"line_items\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb6a00bc0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb6a00b20 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb6a00a6c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb6a009cc @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb6a00954 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="show", @defaults={:action=>"show", :controller=>"line_items"}, @matching_prepared=true, @requirements={:action=>"show", :controller=>"line_items"}>, #<ActionController::Routing::Route:0xb69fd2b8 @controller_requirement="line_items", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"update", :controller=>"line_items"}, @to_s="PUT /line_items/:id(.:format)? {:action=>\"update\", :controller=>\"line_items\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb69fda60 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69fd9c0 @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb69fd90c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb69fd86c @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb69fd7f4 @is_optional=true, @key=:format>], @conditions={:method=>:put}, @action_requirement="update", @defaults={:action=>"update", :controller=>"line_items"}, @matching_prepared=true, @requirements={:action=>"update", :controller=>"line_items"}>, #<ActionController::Routing::Route:0xb69fa144 @controller_requirement="line_items", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"destroy", :controller=>"line_items"}, @to_s="DELETE /line_items/:id(.:format)? {:action=>\"destroy\", :controller=>\"line_items\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb69fa8ec @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69fa84c @is_optional=false, @value="line_items">, #<ActionController::Routing::DividerSegment:0xb69fa798 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb69fa6f8 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb69fa680 @is_optional=true, @key=:format>], @conditions={:method=>:delete}, @action_requirement="destroy", @defaults={:action=>"destroy", :controller=>"line_items"}, @matching_prepared=true, @requirements={:action=>"destroy", :controller=>"line_items"}>, #<ActionController::Routing::Route:0xb69f6d3c @controller_requirement="orders", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"index", :controller=>"orders"}, @to_s="GET /orders(.:format)? {:action=>\"index\", :controller=>\"orders\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb69f7214 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69f7174 @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0xb69f70fc @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="index", @defaults={:action=>"index", :controller=>"orders"}, @matching_prepared=true, @requirements={:action=>"index", :controller=>"orders"}>, #<ActionController::Routing::Route:0xb69f4af0 @controller_requirement="orders", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"create", :controller=>"orders"}, @to_s="POST /orders(.:format)? {:action=>\"create\", :controller=>\"orders\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb69f4fc8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69f4f28 @is_optional=false, @value="orders">, #<ActionController::Routing::OptionalFormatSegment:0xb69f4eb0 @is_optional=true, @key=:format>], @conditions={:method=>:post}, @action_requirement="create", @defaults={:action=>"create", :controller=>"orders"}, @matching_prepared=true, @requirements={:action=>"create", :controller=>"orders"}>, #<ActionController::Routing::Route:0xb69f2624 @controller_requirement="orders", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"new", :controller=>"orders"}, @to_s="GET /orders/new(.:format)? {:action=>\"new\", :controller=>\"orders\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb69f2ca0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69f2c00 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb69f2b4c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69f2aac @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb69f2a34 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="new", @defaults={:action=>"new", :controller=>"orders"}, @matching_prepared=true, @requirements={:action=>"new", :controller=>"orders"}>, #<ActionController::Routing::Route:0xb69efcd0 @controller_requirement="orders", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"edit", :controller=>"orders"}, @to_s="GET /orders/:id/edit(.:format)? {:action=>\"edit\", :controller=>\"orders\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb69f061c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69f057c @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb69f04c8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb69f0428 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::DividerSegment:0xb69f0374 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69f02d4 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb69f025c @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="edit", @defaults={:action=>"edit", :controller=>"orders"}, @matching_prepared=true, @requirements={:action=>"edit", :controller=>"orders"}>, #<ActionController::Routing::Route:0xb69eca94 @controller_requirement="orders", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"show", :controller=>"orders"}, @to_s="GET /orders/:id(.:format)? {:action=>\"show\", :controller=>\"orders\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb69ed23c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69ed19c @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb69ed0e8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb69ed048 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb69ecfd0 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="show", @defaults={:action=>"show", :controller=>"orders"}, @matching_prepared=true, @requirements={:action=>"show", :controller=>"orders"}>, #<ActionController::Routing::Route:0xb69e9934 @controller_requirement="orders", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"update", :controller=>"orders"}, @to_s="PUT /orders/:id(.:format)? {:action=>\"update\", :controller=>\"orders\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb69ea0dc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69ea03c @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb69e9f88 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb69e9ee8 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb69e9e70 @is_optional=true, @key=:format>], @conditions={:method=>:put}, @action_requirement="update", @defaults={:action=>"update", :controller=>"orders"}, @matching_prepared=true, @requirements={:action=>"update", :controller=>"orders"}>, #<ActionController::Routing::Route:0xb69e67c0 @controller_requirement="orders", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"destroy", :controller=>"orders"}, @to_s="DELETE /orders/:id(.:format)? {:action=>\"destroy\", :controller=>\"orders\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb69e6f68 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69e6ec8 @is_optional=false, @value="orders">, #<ActionController::Routing::DividerSegment:0xb69e6e14 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb69e6d74 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb69e6cfc @is_optional=true, @key=:format>], @conditions={:method=>:delete}, @action_requirement="destroy", @defaults={:action=>"destroy", :controller=>"orders"}, @matching_prepared=true, @requirements={:action=>"destroy", :controller=>"orders"}>, #<ActionController::Routing::Route:0xb69e33b8 @controller_requirement="products", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"index", :controller=>"products"}, @to_s="GET /products(.:format)? {:action=>\"index\", :controller=>\"products\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb69e3890 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69e37f0 @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0xb69e3778 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="index", @defaults={:action=>"index", :controller=>"products"}, @matching_prepared=true, @requirements={:action=>"index", :controller=>"products"}>, #<ActionController::Routing::Route:0xb69e116c @controller_requirement="products", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"create", :controller=>"products"}, @to_s="POST /products(.:format)? {:action=>\"create\", :controller=>\"products\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb69e1644 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69e15a4 @is_optional=false, @value="products">, #<ActionController::Routing::OptionalFormatSegment:0xb69e152c @is_optional=true, @key=:format>], @conditions={:method=>:post}, @action_requirement="create", @defaults={:action=>"create", :controller=>"products"}, @matching_prepared=true, @requirements={:action=>"create", :controller=>"products"}>, #<ActionController::Routing::Route:0xb69deca0 @controller_requirement="products", @significant_keys=[:format, :action, :controller], @parameter_shell={:action=>"new", :controller=>"products"}, @to_s="GET /products/new(.:format)? {:action=>\"new\", :controller=>\"products\"}", @optimise=true, @segments=[#<ActionController::Routing::DividerSegment:0xb69df31c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69df27c @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb69df1c8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69df128 @is_optional=false, @value="new">, #<ActionController::Routing::OptionalFormatSegment:0xb69df0b0 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="new", @defaults={:action=>"new", :controller=>"products"}, @matching_prepared=true, @requirements={:action=>"new", :controller=>"products"}>, #<ActionController::Routing::Route:0xb69dc34c @controller_requirement="products", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"edit", :controller=>"products"}, @to_s="GET /products/:id/edit(.:format)? {:action=>\"edit\", :controller=>\"products\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb69dcc98 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69dcbf8 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb69dcb44 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb69dcaa4 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::DividerSegment:0xb69dc9f0 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69dc950 @is_optional=false, @value="edit">, #<ActionController::Routing::OptionalFormatSegment:0xb69dc8d8 @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="edit", @defaults={:action=>"edit", :controller=>"products"}, @matching_prepared=true, @requirements={:action=>"edit", :controller=>"products"}>, #<ActionController::Routing::Route:0xb69d9110 @controller_requirement="products", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"show", :controller=>"products"}, @to_s="GET /products/:id(.:format)? {:action=>\"show\", :controller=>\"products\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb69d98b8 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69d9818 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb69d9764 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb69d96c4 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb69d964c @is_optional=true, @key=:format>], @conditions={:method=>:get}, @action_requirement="show", @defaults={:action=>"show", :controller=>"products"}, @matching_prepared=true, @requirements={:action=>"show", :controller=>"products"}>, #<ActionController::Routing::Route:0xb69d5fb0 @controller_requirement="products", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"update", :controller=>"products"}, @to_s="PUT /products/:id(.:format)? {:action=>\"update\", :controller=>\"products\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb69d6758 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69d66b8 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb69d6604 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb69d6564 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb69d64ec @is_optional=true, @key=:format>], @conditions={:method=>:put}, @action_requirement="update", @defaults={:action=>"update", :controller=>"products"}, @matching_prepared=true, @requirements={:action=>"update", :controller=>"products"}>, #<ActionController::Routing::Route:0xb69d2e3c @controller_requirement="products", @significant_keys=[:id, :format, :action, :controller], @parameter_shell={:action=>"destroy", :controller=>"products"}, @to_s="DELETE /products/:id(.:format)? {:action=>\"destroy\", :controller=>\"products\"}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb69d35e4 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::StaticSegment:0xb69d3544 @is_optional=false, @value="products">, #<ActionController::Routing::DividerSegment:0xb69d3490 @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb69d33f0 @regexp=/[^\/.?]+/, @is_optional=false, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb69d3378 @is_optional=true, @key=:format>], @conditions={:method=>:delete}, @action_requirement="destroy", @defaults={:action=>"destroy", :controller=>"products"}, @matching_prepared=true, @requirements={:action=>"destroy", :controller=>"products"}>, #<ActionController::Routing::Route:0xb69d0114 @controller_requirement=nil, @significant_keys=[:controller, :action, :id], @parameter_shell={}, @to_s="ANY /:controller/:action/:id/ {}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb69d068c @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::ControllerSegment:0xb69d05ec @is_optional=false, @key=:controller>, #<ActionController::Routing::DividerSegment:0xb69d0538 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb69d0498 @default="index", @is_optional=true, @key=:action>, #<ActionController::Routing::DividerSegment:0xb69d03e4 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb69d0344 @is_optional=true, @key=:id>, #<ActionController::Routing::DividerSegment:0xb69d0290 @is_optional=true, @raw=true, @value="/">], @conditions={}, @action_requirement=nil, @defaults={:action=>"index"}, @matching_prepared=true, @requirements={}>, #<ActionController::Routing::Route:0xb69ccc6c @controller_requirement=nil, @significant_keys=[:controller, :action, :id, :format], @parameter_shell={}, @to_s="ANY /:controller/:action/:id(.:format)? {}", @optimise=false, @segments=[#<ActionController::Routing::DividerSegment:0xb69cd1bc @is_optional=false, @raw=true, @value="/">, #<ActionController::Routing::ControllerSegment:0xb69cd11c @is_optional=false, @key=:controller>, #<ActionController::Routing::DividerSegment:0xb69cd068 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb69ccfc8 @default="index", @is_optional=true, @key=:action>, #<ActionController::Routing::DividerSegment:0xb69ccf14 @is_optional=true, @raw=true, @value="/">, #<ActionController::Routing::DynamicSegment:0xb69cce74 @is_optional=true, @key=:id>, #<ActionController::Routing::OptionalFormatSegment:0xb69ccdfc @is_optional=true, @key=:format>], @conditions={}, @action_requirement=nil, @defaults={:action=>"index"}, @matching_prepared=true, @requirements={}>]>
>> app = ActionController::Integration::Session.new
=> #<ActionController::Integration::Session:0xb68786e0 @response=nil, @cookies={}, @https=false, @result=nil, @request=nil, @remote_addr="127.0.0.1", @status_message=nil, @named_routes_configured=true, @status=nil, @host="www.example.com", @path=nil, @headers=nil, @request_count=0, @controller=nil, @application=#<ActionController::Dispatcher:0xb6878578 @output=#<IO:0xb74ff56c>>, @accept="text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5">
>> puts rs.routes
GET /users(.:format)? {:action=>"index", :controller=>"users"}
POST /users(.:format)? {:action=>"create", :controller=>"users"}
GET /users/new(.:format)? {:action=>"new", :controller=>"users"}
GET /users/:id/edit(.:format)? {:action=>"edit", :controller=>"users"}
GET /users/:id(.:format)? {:action=>"show", :controller=>"users"}
PUT /users/:id(.:format)? {:action=>"update", :controller=>"users"}
DELETE /users/:id(.:format)? {:action=>"destroy", :controller=>"users"}
GET /line_items(.:format)? {:action=>"index", :controller=>"line_items"}
POST /line_items(.:format)? {:action=>"create", :controller=>"line_items"}
GET /line_items/new(.:format)? {:action=>"new", :controller=>"line_items"}
GET /line_items/:id/edit(.:format)? {:action=>"edit", :controller=>"line_items"}
GET /line_items/:id(.:format)? {:action=>"show", :controller=>"line_items"}
PUT /line_items/:id(.:format)? {:action=>"update", :controller=>"line_items"}
DELETE /line_items/:id(.:format)? {:action=>"destroy", :controller=>"line_items"}
GET /orders(.:format)? {:action=>"index", :controller=>"orders"}
POST /orders(.:format)? {:action=>"create", :controller=>"orders"}
GET /orders/new(.:format)? {:action=>"new", :controller=>"orders"}
GET /orders/:id/edit(.:format)? {:action=>"edit", :controller=>"orders"}
GET /orders/:id(.:format)? {:action=>"show", :controller=>"orders"}
PUT /orders/:id(.:format)? {:action=>"update", :controller=>"orders"}
DELETE /orders/:id(.:format)? {:action=>"destroy", :controller=>"orders"}
GET /products(.:format)? {:action=>"index", :controller=>"products"}
POST /products(.:format)? {:action=>"create", :controller=>"products"}
GET /products/new(.:format)? {:action=>"new", :controller=>"products"}
GET /products/:id/edit(.:format)? {:action=>"edit", :controller=>"products"}
GET /products/:id(.:format)? {:action=>"show", :controller=>"products"}
PUT /products/:id(.:format)? {:action=>"update", :controller=>"products"}
DELETE /products/:id(.:format)? {:action=>"destroy", :controller=>"products"}
ANY /:controller/:action/:id/ {}
ANY /:controller/:action/:id(.:format)? {}
GET /users(.:format)? {:action=>"index", :controller=>"users"}
POST /users(.:format)? {:action=>"create", :controller=>"users"}
GET /users/new(.:format)? {:action=>"new", :controller=>"users"}
GET /users/:id/edit(.:format)? {:action=>"edit", :controller=>"users"}
GET /users/:id(.:format)? {:action=>"show", :controller=>"users"}
PUT /users/:id(.:format)? {:action=>"update", :controller=>"users"}
DELETE /users/:id(.:format)? {:action=>"destroy", :controller=>"users"}
GET /line_items(.:format)? {:action=>"index", :controller=>"line_items"}
POST /line_items(.:format)? {:action=>"create", :controller=>"line_items"}
GET /line_items/new(.:format)? {:action=>"new", :controller=>"line_items"}
GET /line_items/:id/edit(.:format)? {:action=>"edit", :controller=>"line_items"}
GET /line_items/:id(.:format)? {:action=>"show", :controller=>"line_items"}
PUT /line_items/:id(.:format)? {:action=>"update", :controller=>"line_items"}
DELETE /line_items/:id(.:format)? {:action=>"destroy", :controller=>"line_items"}
GET /orders(.:format)? {:action=>"index", :controller=>"orders"}
POST /orders(.:format)? {:action=>"create", :controller=>"orders"}
GET /orders/new(.:format)? {:action=>"new", :controller=>"orders"}
GET /orders/:id/edit(.:format)? {:action=>"edit", :controller=>"orders"}
GET /orders/:id(.:format)? {:action=>"show", :controller=>"orders"}
PUT /orders/:id(.:format)? {:action=>"update", :controller=>"orders"}
DELETE /orders/:id(.:format)? {:action=>"destroy", :controller=>"orders"}
GET /products(.:format)? {:action=>"index", :controller=>"products"}
POST /products(.:format)? {:action=>"create", :controller=>"products"}
GET /products/new(.:format)? {:action=>"new", :controller=>"products"}
GET /products/:id/edit(.:format)? {:action=>"edit", :controller=>"products"}
GET /products/:id(.:format)? {:action=>"show", :controller=>"products"}
PUT /products/:id(.:format)? {:action=>"update", :controller=>"products"}
DELETE /products/:id(.:format)? {:action=>"destroy", :controller=>"products"}
ANY /:controller/:action/:id/ {}
ANY /:controller/:action/:id(.:format)? {}
=> nil
>> rs.recognize_path "/store"
=> {:action=>"index", :controller=>"store"}
>> rs.recognize_path "/store/add_to_cart/1"
=> {:action=>"add_to_cart", :controller=>"store", :id=>"1"}
>> rs.recognize_path "/store/add_to_cart/1.xml"
=> {:action=>"add_to_cart", :format=>"xml", :controller=>"store", :id=>"1"}
>> rs.generate :controller => :store
=> "/store"
>> rs.generate :controller => :store, :id => 123
=> "/store/index/123"
>> rs.recognize_path "/coupon/show/1"
=> {:action=>"show", :controller=>"coupon", :id=>"1"}
>> load "config/routes.rb"
=> []
>> rs.recognize_path "/coupon/show/1"
=> {:action=>"show", :controller=>"coupon", :id=>"1"}
>> 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:0xb6fb285c @named_routes=#<ActionController::Routing::RouteSet::NamedRouteCollection:0xb6fad370 @routes={}, @module=#<Module:0xb6fad30c>, @helpers=[]>, @routes=[], @configuration_files=[]>
>> app = ActionController::Integration::Session.new
=> #<ActionController::Integration::Session:0xb6e30b64 @status=nil, @controller=nil, @response=nil, @host="www.example.com", @cookies={}, @https=false, @application=#<ActionController::Dispatcher:0xb6e274ec @app=#<Rack::Lock:0xb6e1b214 @app=#<ActionController::Failsafe:0xb6e1b2f0 @app=#<ActionController::ParamsParser:0xb6e1b3cc @app=#<Rack::MethodOverride:0xb6e1b4a8 @app=#<Rack::Head:0xb6e1b584 @app=#<ActionController::StringCoercion:0xb6e1b804 @app=#<Proc:0xb6e2da2c@/home/rubys/git/awdwr/work-236/view/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:130>>>>>>, @lock=#<Mutex:0xb6e1b160>>, @output=#<IO:0xb7564570>>, @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, @named_routes_configured=true, @path=nil, @remote_addr="127.0.0.1", @result=nil, @headers=nil, @request_count=0>
?> 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"
=> {:action=>"unknown_request", :anything=>["blog", "wibble"], :controller=>"blog"}
>> rs.recognize_path "/junk"
=> {:action=>"unknown_request", :anything=>["junk"], :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-236/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