On Sat, Feb 20, 2010 at 3:02 PM, Daniel Guettler
<[email protected]>wrote:

> Hi, I just ran into this ActionController::RoutingError and just
> wanted to check if someone can confirm this as a bug in the Rails 3
> beta gem.
>
> config/routes.rb contains:
>
>  get   'login'     => 'session#new'
>  post  'login'     => 'session#create',  :as => :login
>
>
Daniel, can you post the complete route?  The 'get' and 'post' HTTP verbs
should exist within a member or collection block of a resource block.  For
example,

resources :posts do
   collection do
      get :search
   end
end

or

resources :posts do
  get :search, :on => :collection
end

Note:  both of the examples are equivalent.

Next, your routes look ambiguous meaning that you could have easily
implemented this as follows:

match 'login' => "user_sessions#lnew",     :as => :login
match 'login' => "user_sessions#destroy", :as => :logout

Lastly, your URLs will look like the following:

http://localhost:3000/logout
http://localhost:3000/login

Good luck,

-Conrad


> GET /login works fine:
>
> Started GET "/login" for 127.0.0.1 at 2010-02-20 17:45:49
>  SQL (0.3ms)  SET SQL_AUTO_IS_NULL=0
>  Processing by SessionController#new as HTML
> Rendered session/new.html.haml within layouts/application.html.haml
> (77.9ms)
> Completed in 85ms (Views: 84.1ms | ActiveRecord: 0.2ms) with 200
>
>
> However POST /login gives the following error:
>
> Started POST "/login" for 127.0.0.1 at 2010-02-20 17:45:58
>  SQL (0.3ms)  SET SQL_AUTO_IS_NULL=0
>
> ActionController::RoutingError (No route matches "/login"):
>
>
> rake routes returns the expected urls:
>
>       login POST   /login
> {:controller=>"session", :action=>"create"}
>             GET    /login
> {:controller=>"session", :action=>"new"}
>
>
> Thanks, Daniel
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<rubyonrails-talk%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to