Routes don't stutter

Start with a new project

ruby -rubygems /home/rubys/git/rails/railties/bin/rails testapp
      create  README
      create  .gitignore
      create  Rakefile
      create  Gemfile
      create  app
      create  app/helpers/application_helper.rb
      create  app/controllers/application_controller.rb
      create  app/models
      create  app/views/layouts
      create  config
      create  config/routes.rb
      create  config/application.rb
      create  config/environment.rb
      create  config/environments
      create  config/environments/production.rb
      create  config/environments/development.rb
      create  config/environments/test.rb
      create  config/initializers
      create  config/initializers/backtrace_silencers.rb
      create  config/initializers/cookie_verification_secret.rb
      create  config/initializers/inflections.rb
      create  config/initializers/mime_types.rb
      create  config/initializers/session_store.rb
      create  config/locales
      create  config/locales/en.yml
      create  config/boot.rb
      create  config/database.yml
      create  db
      create  db/seeds.rb
      create  doc
      create  doc/README_FOR_APP
      create  lib
      create  lib/tasks
      create  lib/tasks/.gitkeep
      create  log
      create  log/server.log
      create  log/production.log
      create  log/development.log
      create  log/test.log
      create  public
      create  public/500.html
      create  public/robots.txt
      create  public/favicon.ico
      create  public/422.html
      create  public/404.html
      create  public/index.html
      create  public/images
      create  public/images/rails.png
      create  public/stylesheets
      create  public/stylesheets/.gitkeep
      create  public/javascripts
      create  public/javascripts/controls.js
      create  public/javascripts/prototype.js
      create  public/javascripts/rails.js
      create  public/javascripts/dragdrop.js
      create  public/javascripts/application.js
      create  public/javascripts/effects.js
      create  script
      create  script/rails
      create  test
      create  test/performance/browsing_test.rb
      create  test/test_helper.rb
      create  test/fixtures
      create  test/functional
      create  test/integration
      create  test/unit
      create  tmp
      create  tmp/sessions
      create  tmp/sockets
      create  tmp/cache
      create  tmp/pids
      create  vendor/plugins
      create  vendor/plugins/.gitkeep
bundle install
Resolving dependencies
Installing abstract (1.0.0) from system gems 
Installing actionmailer (3.0.0.beta1) from source code at /home/rubys/git/rails 
Installing actionpack (3.0.0.beta1) from source code at /home/rubys/git/rails 
Installing activemodel (3.0.0.beta1) from source code at /home/rubys/git/rails 
Installing activerecord (3.0.0.beta1) from source code at /home/rubys/git/rails 
Installing activeresource (3.0.0.beta1) from source code at /home/rubys/git/rails 
Installing activesupport (3.0.0.beta1) from source code at /home/rubys/git/rails 
Installing arel (0.2.1) from system gems 
Installing builder (2.1.2) from system gems 
Installing bundler (0.9.10) from system gems 
Installing erubis (2.6.5) from system gems 
Installing i18n (0.3.5) from system gems 
Installing mail (2.1.3) from system gems 
Installing memcache-client (1.7.8) from system gems 
Installing mime-types (1.16) from system gems 
Installing rack (1.1.0) from system gems 
Installing rack-mount (0.6.1) from system gems 
Installing rack-test (0.5.3) from system gems 
Installing rails (3.0.0.beta1) from source code at /home/rubys/git/rails 
Installing railties (3.0.0.beta1) from source code at /home/rubys/git/rails 
Installing rake (0.8.7) from system gems 
Installing sqlite3-ruby (1.2.5) from system gems 
Installing text-format (1.0.0) from system gems 
Installing text-hyphen (1.0.0) from system gems 
Installing thor (0.13.4) from system gems 
Installing tzinfo (0.3.17) from system gems 
Your bundle is complete!

Generate a simple hello/goodbye world controller

rails generate controller Say hello goodbye
      create  app/controllers/say_controller.rb
      invoke  erb
      create    app/views/say
      create    app/views/say/hello.html.erb
      create    app/views/say/goodbye.html.erb
      invoke  test_unit
      create    test/functional/say_controller_test.rb
      invoke  helper
      create    app/helpers/say_helper.rb
      invoke    test_unit
      create      test/unit/helpers/say_helper_test.rb

Add the necessary routes

edit config/routes.rb
Testapp::Application.routes.draw do |map|
  get 'say/hello'
  get 'say/goodbye'

Very simple template... with a link

edit app/views/say/hello.html.erb
<!DOCTYPE html>
    <title>Hello Rails</title>
    <h1>Hello from Rails!</h1>
      Time to say
      <%= link_to "Goodbye!", say_goodbye_path %>

Start the server

Start the server.

get /say/hello

Hello from Rails!

Time to say Goodbye!

Expected at least 1 element matching "a[href='http://localhost:3000/say/goodbye']", found 0.

  /home/rubys/git/gorp/lib/gorp/test.rb:156:in `call'
  /home/rubys/git/gorp/lib/gorp/test.rb:156:in `get'


Wed, 10 Mar 2010 16:00:39 GMT
/home/rubys/.rvm/rubies/ruby-1.8.7-p249/bin/ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [x86_64-linux]
gem -v
bundle show
Gems included by the bundle:
  * abstract (1.0.0)
  * actionmailer (3.0.0.beta1)
  * actionpack (3.0.0.beta1)
  * activemodel (3.0.0.beta1)
  * activerecord (3.0.0.beta1)
  * activeresource (3.0.0.beta1)
  * activesupport (3.0.0.beta1)
  * arel (0.2.1)
  * builder (2.1.2)
  * bundler (0.9.10)
  * erubis (2.6.5)
  * i18n (0.3.5)
  * mail (2.1.3)
  * memcache-client (1.7.8)
  * mime-types (1.16)
  * rack (1.1.0)
  * rack-mount (0.6.1)
  * rack-test (0.5.3)
  * rails (3.0.0.beta1)
  * railties (3.0.0.beta1)
  * rake (0.8.7)
  * sqlite3-ruby (1.2.5)
  * text-format (1.0.0)
  * text-hyphen (1.0.0)
  * thor (0.13.4)
  * tzinfo (0.3.17)
rake about
(in /home/rubys/tmp/work/testapp)
About your application's environment
Ruby version              1.8.7 (x86_64-linux)
RubyGems version          1.3.6
Rack version              1.1
Rails version             3.0.0.beta1
Active Record version     3.0.0.beta1
Action Pack version       3.0.0.beta1
Active Resource version   3.0.0.beta1
Action Mailer version     3.0.0.beta1
Active Support version    3.0.0.beta1
Middleware                ActionDispatch::Static, Rack::Lock, Rack::Runtime, Rails::Rack::Logger, ActionDispatch::ShowExceptions, ActionDispatch::RemoteIp, Rack::Sendfile, ActionDispatch::Callbacks, ActionDispatch::Cookies, ActionDispatch::Session::CookieStore, ActionDispatch::Flash, ActionDispatch::ParamsParser, Rack::MethodOverride, ActionDispatch::Head
Application root          /home/rubys/tmp/work/testapp
Environment               development
git log -1
commit f38e2e03351da463f84f6850fa10718ece98ff26
Author: Carlhuda <>
Date:   Mon Mar 8 12:24:49 2010 -0800

    Add support for mount RackApp, :at => "/sprockets" with a shorthand of mount Sprockets => "/sprockets".
    This is different from the match syntax in that it cannot be used for controller/action and it does not
    assume an anchor at the end of the match.
    For instance, in the above example, if the client asked for "/sprockets/foo.js", the Sprockets app would
    have a SCRIPT_NAME of "/sprockets" and PATH_INFO of "/foo.js".