[rspec-users] Routing error with webrat
Matt Wynne
matt at mattwynne.net
Tue Dec 23 05:03:16 EST 2008
On 23 Dec 2008, at 09:04, Juanma Cervera wrote:
> Hello
>
> I am starting using cucumber with an app using restful_authentication.
> I am having an error that is driving me mad.
>
> I am using this step
>
> Given /^que he hecho login en la aplicación$/ do
> user = User.create!(
> :login => "mi_login",
> :name => "mi_nombre",
> :email => "mi_login at mail.com",
> :password => 'supersecret',
> :password_confirmation => 'supersecret' )
>
> User.find_by_login("mi_login").should_not be_nil
>
> visit login_path
> fill_in :login, :with => user.login
> fill_in :password, :with => 'supersecret'
> click_button "Log in"
> response.body.should =~ /Logged/m
> end
>
> The problem is with the sentence click_button "Log in",
> I have the standar new.html.erb template created by the
> restful_authentication plugin
>
> ==== new.html.erb ===========
> <h1>Log In</h1>
>
> <% form_tag session_path do -%>
> <p><%= label_tag 'login' %><br />
> <%= text_field_tag 'login', @login %></p>
>
> <p><%= label_tag 'password' %><br/>
> <%= password_field_tag 'password', nil %></p>
>
> <p><%= submit_tag 'Log in' %></p>
> <% end -%>
>
> ===========================
>
>
> Everything in routes.rb is standar
>
> map.logout '/logout', :controller => 'sessions', :action => 'destroy'
> map.login '/login', :controller => 'sessions', :action => 'new'
> map.register '/register', :controller => 'users', :action => 'create'
> map.signup '/signup', :controller => 'users', :action => 'new'
> map.resources :users
> map.resource :session
>
>
> An the error says something about routing:
>
> No route matches "/" with {:method=>:get}
> (ActionController::RoutingError)
>
> that occurs when clicking the button.
>
> I have put the error here, in http://pastie.org/345420.
>
> Can somebody give me some light.
The error you're getting seems to suggest that rails can't find a
route defined for a GET request to "/" which is the homepage of your
app. I assume this is where the resful authentication plugin wants to
redirect you after logging you in.
When you set up your routes, did you remember to put in a route for
the homepage?
e.g. map.root :controller => "home", :action => "index"
HTH,
Matt Wynne
http://blog.mattwynne.net
http://www.songkick.com
More information about the rspec-users
mailing list