This project is archived and is in readonly mode.
Route globbing broken in Rails 3 ?
Reported by M S | March 29th, 2010 @ 05:47 AM | in 3.0.2
in routes, add:
map.connect '*path', :controller => 'pages'
create an empty PagesController.
browse to http://localhost:3000/abc
you get this error:
NoMethodError in PagesController#index
undefined method `each' for "abc":String
Rails.root: /workspace/ruby_src
Application Trace | Framework Trace | Full Trace
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/http/filter_parameters.rb:78:in `process_parameter_filter'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/http/filter_parameters.rb:84:in `block (2 levels) in process_parameter_filter'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/http/filter_parameters.rb:84:in `map'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/http/filter_parameters.rb:84:in `block in process_parameter_filter'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/http/filter_parameters.rb:78:in `each'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/http/filter_parameters.rb:78:in `process_parameter_filter'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/http/filter_parameters.rb:30:in `filtered_parameters'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_controller/metal/instrumentation.rb:20:in `process_action'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_controller/metal/rescue.rb:8:in `process_action'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/abstract_controller/base.rb:115:in `process'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_controller/metal.rb:64:in `dispatch'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_controller/metal/rack_delegation.rb:19:in `dispatch'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_controller/metal.rb:89:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/routing/route_set.rb:27:in `call'
rack-mount (0.4.7) lib/rack/mount/recognition/route_set.rb:70:in `block in call'
rack-mount (0.4.7) lib/rack/mount/recognition/code_generation.rb:97:in `block in recognize'
rack-mount (0.4.7) lib/rack/mount/recognition/code_generation.rb:79:in `optimized_each'
rack-mount (0.4.7) lib/rack/mount/recognition/code_generation.rb:96:in `recognize'
rack-mount (0.4.7) lib/rack/mount/recognition/route_set.rb:65:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/routing/route_set.rb:419:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/activerecord-3.0.0.beta/lib/active_record/query_cache.rb:29:in `block in call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/activerecord-3.0.0.beta/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/activerecord-3.0.0.beta/lib/active_record/query_cache.rb:9:in `cache'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/activerecord-3.0.0.beta/lib/active_record/query_cache.rb:28:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/activerecord-3.0.0.beta/lib/active_record/connection_adapters/abstract/connection_pool.rb:365:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/middleware/head.rb:14:in `call'
rack (1.1.0) lib/rack/methodoverride.rb:24:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/middleware/params_parser.rb:20:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/middleware/flash.rb:167:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/middleware/session/cookie_store.rb:107:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/middleware/cookies.rb:205:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/middleware/callbacks.rb:46:in `block in call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/activesupport-3.0.0.beta/lib/active_support/callbacks.rb:429:in `_run_call_callbacks'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/activesupport-3.0.0.beta/lib/active_support/callbacks.rb:88:in `run_callbacks'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/middleware/callbacks.rb:44:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/middleware/show_exceptions.rb:62:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/railties-3.0.0.beta/lib/rails/rack/logger.rb:13:in `call'
rack (1.1.0) lib/rack/runtime.rb:17:in `call'
rack (1.1.0) lib/rack/lock.rb:11:in `block in call'
<internal:prelude>:8:in `synchronize'
rack (1.1.0) lib/rack/lock.rb:11:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/middleware/static.rb:30:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/railties-3.0.0.beta/lib/rails/application.rb:95:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/railties-3.0.0.beta/lib/rails/application.rb:41:in `method_missing'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/railties-3.0.0.beta/lib/rails/rack/log_tailer.rb:15:in `call'
rack (1.1.0) lib/rack/content_length.rb:13:in `call'
rack (1.1.0) lib/rack/handler/webrick.rb:48:in `service'
/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service'
/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run'
/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/http/filter_parameters.rb:78:in `process_parameter_filter'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/http/filter_parameters.rb:84:in `block (2 levels) in process_parameter_filter'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/http/filter_parameters.rb:84:in `map'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/http/filter_parameters.rb:84:in `block in process_parameter_filter'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/http/filter_parameters.rb:78:in `each'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/http/filter_parameters.rb:78:in `process_parameter_filter'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/http/filter_parameters.rb:30:in `filtered_parameters'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_controller/metal/instrumentation.rb:20:in `process_action'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_controller/metal/rescue.rb:8:in `process_action'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/abstract_controller/base.rb:115:in `process'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_controller/metal.rb:64:in `dispatch'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_controller/metal/rack_delegation.rb:19:in `dispatch'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_controller/metal.rb:89:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/routing/route_set.rb:27:in `call'
rack-mount (0.4.7) lib/rack/mount/recognition/route_set.rb:70:in `block in call'
rack-mount (0.4.7) lib/rack/mount/recognition/code_generation.rb:97:in `block in recognize'
rack-mount (0.4.7) lib/rack/mount/recognition/code_generation.rb:79:in `optimized_each'
rack-mount (0.4.7) lib/rack/mount/recognition/code_generation.rb:96:in `recognize'
rack-mount (0.4.7) lib/rack/mount/recognition/route_set.rb:65:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/routing/route_set.rb:419:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/activerecord-3.0.0.beta/lib/active_record/query_cache.rb:29:in `block in call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/activerecord-3.0.0.beta/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/activerecord-3.0.0.beta/lib/active_record/query_cache.rb:9:in `cache'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/activerecord-3.0.0.beta/lib/active_record/query_cache.rb:28:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/activerecord-3.0.0.beta/lib/active_record/connection_adapters/abstract/connection_pool.rb:365:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/middleware/head.rb:14:in `call'
rack (1.1.0) lib/rack/methodoverride.rb:24:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/middleware/params_parser.rb:20:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/middleware/flash.rb:167:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/middleware/session/cookie_store.rb:107:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/middleware/cookies.rb:205:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/middleware/callbacks.rb:46:in `block in call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/activesupport-3.0.0.beta/lib/active_support/callbacks.rb:429:in `_run_call_callbacks'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/activesupport-3.0.0.beta/lib/active_support/callbacks.rb:88:in `run_callbacks'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/middleware/callbacks.rb:44:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/middleware/show_exceptions.rb:62:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/railties-3.0.0.beta/lib/rails/rack/logger.rb:13:in `call'
rack (1.1.0) lib/rack/runtime.rb:17:in `call'
rack (1.1.0) lib/rack/lock.rb:11:in `block in call'
<internal:prelude>:8:in `synchronize'
rack (1.1.0) lib/rack/lock.rb:11:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/middleware/static.rb:30:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/railties-3.0.0.beta/lib/rails/application.rb:95:in `call'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/railties-3.0.0.beta/lib/rails/application.rb:41:in `method_missing'
/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/railties-3.0.0.beta/lib/rails/rack/log_tailer.rb:15:in `call'
rack (1.1.0) lib/rack/content_length.rb:13:in `call'
rack (1.1.0) lib/rack/handler/webrick.rb:48:in `service'
/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service'
/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run'
/.rvm/rubies/ruby-1.9.1-p378/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread'
Request
Parameters:
{"path"=>["abc"]}
Show session dump
_csrf_token: "Za7iYF2GoO4wzQsmPXjJMuSN2RNkWc5IMEPoHEiQXXs="
session_id: "b91d44606a99db98a84a288090001f71"
Show env dump
GATEWAY_INTERFACE: "CGI/1.1"
HTTP_ACCEPT: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
HTTP_ACCEPT_CHARSET: "ISO-8859-1,utf-8;q=0.7,*;q=0.7"
HTTP_ACCEPT_ENCODING: "gzip,deflate"
HTTP_ACCEPT_LANGUAGE: "en-us,en;q=0.5"
HTTP_CONNECTION: "keep-alive"
HTTP_COOKIE: "_ruby_src_session=BAh7B0kiD3Nlc3Npb25faWQGOg1lbmNvZGluZyINVVMtQVNDSUkiJWI5MWQ0NDYwNmE5OWRiOThhODRhMjg4MDkwMDAxZjcxSSIQX2NzcmZfdG9rZW4GOwBAB0kiMVphN2lZRjJHb080d3pRc21QWGpKTXVTTjJSTmtXYzVJTUVQb0hFaVFYWHM9BjsAQAc%3D--c72edb9e0c20e55e6a8216684dc587c8223b3b23"
HTTP_HOST: "localhost:3000"
HTTP_KEEP_ALIVE: "300"
HTTP_USER_AGENT: "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.8) Gecko/20100214 Ubuntu/9.10 (karmic) Firefox/3.5.8"
HTTP_VERSION: "HTTP/1.1"
PATH_INFO: "/abc"
QUERY_STRING: ""
REMOTE_ADDR: "127.0.0.1"
REMOTE_HOST: "localhost"
REQUEST_METHOD: "GET"
REQUEST_PATH: "/"
REQUEST_URI: "http://localhost:3000/abc"
SCRIPT_NAME: ""
SERVER_NAME: "localhost"
SERVER_PORT: "3000"
SERVER_PROTOCOL: "HTTP/1.1"
SERVER_SOFTWARE: "WEBrick/1.3.1 (Ruby/1.9.1/2010-01-10)"
action_controller.instance: #<PagesController:0x00000002d9eb18 @_headers={}, @_formats=nil, @_request=#<ActionDispatch::Request:0x00000002d9e760 @env={"GATEWAY_INTERFACE"=>"CGI/1.1", "PATH_INFO"=>"/abc", "QUERY_STRING"=>"", "REMOTE_ADDR"=>"127.0.0.1", "REMOTE_HOST"=>"localhost", "REQUEST_METHOD"=>"GET", "REQUEST_URI"=>"http://localhost:3000/abc", "SCRIPT_NAME"=>"", "SERVER_NAME"=>"localhost", "SERVER_PORT"=>"3000", "SERVER_PROTOCOL"=>"HTTP/1.1", "SERVER_SOFTWARE"=>"WEBrick/1.3.1 (Ruby/1.9.1/2010-01-10)", "HTTP_HOST"=>"localhost:3000", "HTTP_USER_AGENT"=>"Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.8) Gecko/20100214 Ubuntu/9.10 (karmic) Firefox/3.5.8", "HTTP_ACCEPT"=>"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "HTTP_ACCEPT_LANGUAGE"=>"en-us,en;q=0.5", "HTTP_ACCEPT_ENCODING"=>"gzip,deflate", "HTTP_ACCEPT_CHARSET"=>"ISO-8859-1,utf-8;q=0.7,*;q=0.7", "HTTP_KEEP_ALIVE"=>"300", "HTTP_CONNECTION"=>"keep-alive", "HTTP_COOKIE"=>"_ruby_src_session=BAh7B0kiD3Nlc3Npb25faWQGOg1lbmNvZGluZyINVVMtQVNDSUkiJWI5MWQ0NDYwNmE5OWRiOThhODRhMjg4MDkwMDAxZjcxSSIQX2NzcmZfdG9rZW4GOwBAB0kiMVphN2lZRjJHb080d3pRc21QWGpKTXVTTjJSTmtXYzVJTUVQb0hFaVFYWHM9BjsAQAc%3D--c72edb9e0c20e55e6a8216684dc587c8223b3b23", "rack.version"=>[1, 1], "rack.input"=>#<StringIO:0x00000003b3a0e0>, "rack.errors"=>#<IO:<STDERR>>, "rack.multithread"=>false, "rack.multiprocess"=>false, "rack.run_once"=>false, "rack.url_scheme"=>"http", "HTTP_VERSION"=>"HTTP/1.1", "REQUEST_PATH"=>"/", "action_dispatch.parameter_filter"=>[:password], "rack.session"=>{"session_id"=>"b91d44606a99db98a84a288090001f71", "_csrf_token"=>"Za7iYF2GoO4wzQsmPXjJMuSN2RNkWc5IMEPoHEiQXXs="}, "rack.session.options"=>{:key=>"_session_id", :domain=>nil, :path=>"/", :expire_after=>nil, :httponly=>true, :id=>"b91d44606a99db98a84a288090001f71"}, "rack.request.cookie_string"=>"_ruby_src_session=BAh7B0kiD3Nlc3Npb25faWQGOg1lbmNvZGluZyINVVMtQVNDSUkiJWI5MWQ0NDYwNmE5OWRiOThhODRhMjg4MDkwMDAxZjcxSSIQX2NzcmZfdG9rZW4GOwBAB0kiMVphN2lZRjJHb080d3pRc21QWGpKTXVTTjJSTmtXYzVJTUVQb0hFaVFYWHM9BjsAQAc%3D--c72edb9e0c20e55e6a8216684dc587c8223b3b23", "rack.request.cookie_hash"=>{"_ruby_src_session"=>"BAh7B0kiD3Nlc3Npb25faWQGOg1lbmNvZGluZyINVVMtQVNDSUkiJWI5MWQ0NDYwNmE5OWRiOThhODRhMjg4MDkwMDAxZjcxSSIQX2NzcmZfdG9rZW4GOwBAB0kiMVphN2lZRjJHb080d3pRc21QWGpKTXVTTjJSTmtXYzVJTUVQb0hFaVFYWHM9BjsAQAc=--c72edb9e0c20e55e6a8216684dc587c8223b3b23"}, "action_dispatch.request.path_parameters"=>{:controller=>"pages", :action=>"index", :path=>["abc"]}, "action_controller.instance"=>#<PagesController:0x00000002d9eb18 ...>, "action_dispatch.request.content_type"=>nil, "action_dispatch.request.request_parameters"=>{}, "rack.request.query_string"=>"", "rack.request.query_hash"=>{}, "action_dispatch.request.query_parameters"=>{}, "action_dispatch.request.parameters"=>{"controller"=>"pages", "action"=>"index", "path"=>["abc"]}}>, @_response=#<ActionDispatch::Response:0x00000002d9e5d8 @status=200, @header={}, @cache_control={}, @writer=#<Proc:0x00000002d9e258@/.rvm/gems/ruby-1.9.1-p378%rails3beta/gems/actionpack-3.0.0.beta/lib/action_dispatch/http/response.rb:47 (lambda)>, @block=nil, @length=0, @cookie=[], @body=[], @sending_file=false, @blank=false, @etag=nil, @request=#<ActionDispatch::Request:0x00000002d9e760 @env={"GATEWAY_INTERFACE"=>"CGI/1.1", "PATH_INFO"=>"/abc", "QUERY_STRING"=>"", "REMOTE_ADDR"=>"127.0.0.1", "REMOTE_HOST"=>"localhost", "REQUEST_METHOD"=>"GET", "REQUEST_URI"=>"http://localhost:3000/abc", "SCRIPT_NAME"=>"", "SERVER_NAME"=>"localhost", "SERVER_PORT"=>"3000", "SERVER_PROTOCOL"=>"HTTP/1.1", "SERVER_SOFTWARE"=>"WEBrick/1.3.1 (Ruby/1.9.1/2010-01-10)", "HTTP_HOST"=>"localhost:3000", "HTTP_USER_AGENT"=>"Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.8) Gecko/20100214 Ubuntu/9.10 (karmic) Firefox/3.5.8", "HTTP_ACCEPT"=>"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "HTTP_ACCEPT_LANGUAGE"=>"en-us,en;q=0.5", "HTTP_ACCEPT_ENCODING"=>"gzip,deflate", "HTTP_ACCEPT_CHARSET"=>"ISO-8859-1,utf-8;q=0.7,*;q=0.7", "HTTP_KEEP_ALIVE"=>"300", "HTTP_CONNECTION"=>"keep-alive", "HTTP_COOKIE"=>"_ruby_src_session=BAh7B0kiD3Nlc3Npb25faWQGOg1lbmNvZGluZyINVVMtQVNDSUkiJWI5MWQ0NDYwNmE5OWRiOThhODRhMjg4MDkwMDAxZjcxSSIQX2NzcmZfdG9rZW4GOwBAB0kiMVphN2lZRjJHb080d3pRc21QWGpKTXVTTjJSTmtXYzVJTUVQb0hFaVFYWHM9BjsAQAc%3D--c72edb9e0c20e55e6a8216684dc587c8223b3b23", "rack.version"=>[1, 1], "rack.input"=>#<StringIO:0x00000003b3a0e0>, "rack.errors"=>#<IO:<STDERR>>, "rack.multithread"=>false, "rack.multiprocess"=>false, "rack.run_once"=>false, "rack.url_scheme"=>"http", "HTTP_VERSION"=>"HTTP/1.1", "REQUEST_PATH"=>"/", "action_dispatch.parameter_filter"=>[:password], "rack.session"=>{"session_id"=>"b91d44606a99db98a84a288090001f71", "_csrf_token"=>"Za7iYF2GoO4wzQsmPXjJMuSN2RNkWc5IMEPoHEiQXXs="}, "rack.session.options"=>{:key=>"_session_id", :domain=>nil, :path=>"/", :expire_after=>nil, :httponly=>true, :id=>"b91d44606a99db98a84a288090001f71"}, "rack.request.cookie_string"=>"_ruby_src_session=BAh7B0kiD3Nlc3Npb25faWQGOg1lbmNvZGluZyINVVMtQVNDSUkiJWI5MWQ0NDYwNmE5OWRiOThhODRhMjg4MDkwMDAxZjcxSSIQX2NzcmZfdG9rZW4GOwBAB0kiMVphN2lZRjJHb080d3pRc21QWGpKTXVTTjJSTmtXYzVJTUVQb0hFaVFYWHM9BjsAQAc%3D--c72edb9e0c20e55e6a8216684dc587c8223b3b23", "rack.request.cookie_hash"=>{"_ruby_src_session"=>"BAh7B0kiD3Nlc3Npb25faWQGOg1lbmNvZGluZyINVVMtQVNDSUkiJWI5MWQ0NDYwNmE5OWRiOThhODRhMjg4MDkwMDAxZjcxSSIQX2NzcmZfdG9rZW4GOwBAB0kiMVphN2lZRjJHb080d3pRc21QWGpKTXVTTjJSTmtXYzVJTUVQb0hFaVFYWHM9BjsAQAc=--c72edb9e0c20e55e6a8216684dc587c8223b3b23"}, "action_dispatch.request.path_parameters"=>{:controller=>"pages", :action=>"index", :path=>["abc"]}, "action_controller.instance"=>#<PagesController:0x00000002d9eb18 ...>, "action_dispatch.request.content_type"=>nil, "action_dispatch.request.request_parameters"=>{}, "rack.request.query_string"=>"", "rack.request.query_hash"=>{}, "action_dispatch.request.query_parameters"=>{}, "action_dispatch.request.parameters"=>{"controller"=>"pages", "action"=>"index", "path"=>["abc"]}}>>, @_env={"GATEWAY_INTERFACE"=>"CGI/1.1", "PATH_INFO"=>"/abc", "QUERY_STRING"=>"", "REMOTE_ADDR"=>"127.0.0.1", "REMOTE_HOST"=>"localhost", "REQUEST_METHOD"=>"GET", "REQUEST_URI"=>"http://localhost:3000/abc", "SCRIPT_NAME"=>"", "SERVER_NAME"=>"localhost", "SERVER_PORT"=>"3000", "SERVER_PROTOCOL"=>"HTTP/1.1", "SERVER_SOFTWARE"=>"WEBrick/1.3.1 (Ruby/1.9.1/2010-01-10)", "HTTP_HOST"=>"localhost:3000", "HTTP_USER_AGENT"=>"Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.8) Gecko/20100214 Ubuntu/9.10 (karmic) Firefox/3.5.8", "HTTP_ACCEPT"=>"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "HTTP_ACCEPT_LANGUAGE"=>"en-us,en;q=0.5", "HTTP_ACCEPT_ENCODING"=>"gzip,deflate", "HTTP_ACCEPT_CHARSET"=>"ISO-8859-1,utf-8;q=0.7,*;q=0.7", "HTTP_KEEP_ALIVE"=>"300", "HTTP_CONNECTION"=>"keep-alive", "HTTP_COOKIE"=>"_ruby_src_session=BAh7B0kiD3Nlc3Npb25faWQGOg1lbmNvZGluZyINVVMtQVNDSUkiJWI5MWQ0NDYwNmE5OWRiOThhODRhMjg4MDkwMDAxZjcxSSIQX2NzcmZfdG9rZW4GOwBAB0kiMVphN2lZRjJHb080d3pRc21QWGpKTXVTTjJSTmtXYzVJTUVQb0hFaVFYWHM9BjsAQAc%3D--c72edb9e0c20e55e6a8216684dc587c8223b3b23", "rack.version"=>[1, 1], "rack.input"=>#<StringIO:0x00000003b3a0e0>, "rack.errors"=>#<IO:<STDERR>>, "rack.multithread"=>false, "rack.multiprocess"=>false, "rack.run_once"=>false, "rack.url_scheme"=>"http", "HTTP_VERSION"=>"HTTP/1.1", "REQUEST_PATH"=>"/", "action_dispatch.parameter_filter"=>[:password], "rack.session"=>{"session_id"=>"b91d44606a99db98a84a288090001f71", "_csrf_token"=>"Za7iYF2GoO4wzQsmPXjJMuSN2RNkWc5IMEPoHEiQXXs="}, "rack.session.options"=>{:key=>"_session_id", :domain=>nil, :path=>"/", :expire_after=>nil, :httponly=>true, :id=>"b91d44606a99db98a84a288090001f71"}, "rack.request.cookie_string"=>"_ruby_src_session=BAh7B0kiD3Nlc3Npb25faWQGOg1lbmNvZGluZyINVVMtQVNDSUkiJWI5MWQ0NDYwNmE5OWRiOThhODRhMjg4MDkwMDAxZjcxSSIQX2NzcmZfdG9rZW4GOwBAB0kiMVphN2lZRjJHb080d3pRc21QWGpKTXVTTjJSTmtXYzVJTUVQb0hFaVFYWHM9BjsAQAc%3D--c72edb9e0c20e55e6a8216684dc587c8223b3b23", "rack.request.cookie_hash"=>{"_ruby_src_session"=>"BAh7B0kiD3Nlc3Npb25faWQGOg1lbmNvZGluZyINVVMtQVNDSUkiJWI5MWQ0NDYwNmE5OWRiOThhODRhMjg4MDkwMDAxZjcxSSIQX2NzcmZfdG9rZW4GOwBAB0kiMVphN2lZRjJHb080d3pRc21QWGpKTXVTTjJSTmtXYzVJTUVQb0hFaVFYWHM9BjsAQAc=--c72edb9e0c20e55e6a8216684dc587c8223b3b23"}, "action_dispatch.request.path_parameters"=>{:controller=>"pages", :action=>"index", :path=>["abc"]}, "action_controller.instance"=>#<PagesController:0x00000002d9eb18 ...>, "action_dispatch.request.content_type"=>nil, "action_dispatch.request.request_parameters"=>{}, "rack.request.query_string"=>"", "rack.request.query_hash"=>{}, "action_dispatch.request.query_parameters"=>{}, "action_dispatch.request.parameters"=>{"controller"=>"pages", "action"=>"index", "path"=>["abc"]}}, @_action_name="index", @_response_body=nil>
action_dispatch.parameter_filter: [:password]
action_dispatch.request.content_type: nil
action_dispatch.request.parameters: {"controller"=>"pages", "action"=>"index", "path"=>["abc"]}
action_dispatch.request.path_parameters: {:controller=>"pages", :action=>"index", :path=>["abc"]}
action_dispatch.request.query_parameters: {}
action_dispatch.request.request_parameters: {}
rack.errors: #<IO:<STDERR>>
rack.input: #<StringIO:0x00000003b3a0e0>
rack.multiprocess: false
rack.multithread: false
rack.request.cookie_hash: {"_ruby_src_session"=>"BAh7B0kiD3Nlc3Npb25faWQGOg1lbmNvZGluZyINVVMtQVNDSUkiJWI5MWQ0NDYwNmE5OWRiOThhODRhMjg4MDkwMDAxZjcxSSIQX2NzcmZfdG9rZW4GOwBAB0kiMVphN2lZRjJHb080d3pRc21QWGpKTXVTTjJSTmtXYzVJTUVQb0hFaVFYWHM9BjsAQAc=--c72edb9e0c20e55e6a8216684dc587c8223b3b23"}
rack.request.cookie_string: "_ruby_src_session=BAh7B0kiD3Nlc3Npb25faWQGOg1lbmNvZGluZyINVVMtQVNDSUkiJWI5MWQ0NDYwNmE5OWRiOThhODRhMjg4MDkwMDAxZjcxSSIQX2NzcmZfdG9rZW4GOwBAB0kiMVphN2lZRjJHb080d3pRc21QWGpKTXVTTjJSTmtXYzVJTUVQb0hFaVFYWHM9BjsAQAc%3D--c72edb9e0c20e55e6a8216684dc587c8223b3b23"
rack.request.query_hash: {}
rack.request.query_string: ""
rack.run_once: false
rack.session: {"session_id"=>"b91d44606a99db98a84a288090001f71", "_csrf_token"=>"Za7iYF2GoO4wzQsmPXjJMuSN2RNkWc5IMEPoHEiQXXs="}
rack.session.options: {:key=>"_session_id", :domain=>nil, :path=>"/", :expire_after=>nil, :httponly=>true, :id=>"b91d44606a99db98a84a288090001f71"}
rack.url_scheme: "http"
rack.version: [1, 1]
Response
Headers:
None
but it works fine in Rails 2.3.5.
Comments and changes to this ticket
-
Yehuda Katz (wycats) March 29th, 2010 @ 06:47 AM
- Milestone cleared.
- State changed from new to needs-more-info
- Assigned user set to Yehuda Katz (wycats)
Is this still happening on master?
-
Andrew White March 29th, 2010 @ 10:14 AM
Seems to be fixed on master for me. There is a difference of behaviour between old style routes and the new style dsl:
# Old style map.connect '*path', :controller => 'pages', :action => 'show' # GET /path/to/document => { :path => ['path', 'to', 'document'] } # New style match '*path', :to => 'pages#show' # GET /path/to/document => { :path => 'path/to/document' }
However, I think this is expected and it's probably best to keep it this way for backwards compatibility.
-
M S March 30th, 2010 @ 12:11 AM
Ok, my mistake. I confirm the new style does what I expected the old style to do.
Thank you for the prompt response. I didn't realize it had changed.
Will there be an updated RailsGuide post detailing changes with examples from 2.3.5 -> 3.0.0 when released?
-
M S March 30th, 2010 @ 12:12 AM
e.g. similar to http://drupal.org/node/114774 and http://drupal.org/node/132442
-
José Valim April 7th, 2010 @ 12:51 AM
- State changed from needs-more-info to invalid
-
Jeremy Kemper October 15th, 2010 @ 11:01 PM
- Milestone set to 3.0.2
- Importance changed from to Low
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
<h2 style="font-size: 14px">Tickets have moved to Github</h2>
The new ticket tracker is available at <a href="https://github.com/rails/rails/issues">https://github.com/rails/rails/issues</a>