Problema con sesiones de restful authentication

Hola

Estoy encontrando algunos problemas con el manejo del login y el logout
del plugin restful authentication.

He descargado el plugin y seguido los pasos, editando el fichero routes
del siguiente modo:

map.resource :session, :controller => ‘session’
map.singup ‘/registrarse’, :controller => ‘users’, :action => ‘new’
map.login ‘/login’, :controller => ‘session’, :action => ‘new’
map.logout ‘/logout’, :controller => ‘session’, :action => ‘destroy’

Si lo dejo así, el método logout funcionada correctamente pero el login
da un error al pasar los datos, indicando el navegador

NameError in SessionController#create

uninitialized constant SessionController

Sin embargo, si edito el routes del siguiente modo:

map.resource :session
map.singup ‘/registrarse’, :controller => ‘users’, :action => ‘new’
map.login ‘/login’, :controller => ‘session’, :action => ‘new’
map.logout ‘/logout’, :controller => ‘session’, :action => ‘destroy’

el problema lo tengo al revés. El login funciona pero el logout no.

¿Alguna idea sobre esto o unos consejillos sobre como manejar el tema de
las sesiones?

No me puede ayudar nadie?

Llevo todo el día buscando en google y en el foro, pero no encuentro
nada que me funcione. He cambiado el fichero routes unas mil veces,
probando todo lo que me iba encontrando, pero… nada!
Concretamente el error que me martiriza es:

NameError in SessionsController#new
uninitialized constant SessionsController

Logout y Signup funcionan correctamente, de echo, cuando te registras,
una vez guardado tus datos te logea, y funciona bien!!..pero si clikeas
sobre ‘login’ directamente sale el errorcillo este.

Os pongo los archivos.

** Routes.rb
ActionController::Routing::Routes.draw do |map|

map.signup ‘/signup’, :controller => ‘users’, :action => ‘new’
map.login ‘/login’, :controller => ‘session’, :action => ‘new’
map.logout ‘/logout’, :controller => ‘session’, :action => ‘destroy’

map.connect ‘’, :controller => “home”, :action => ‘index’

map.resources :users
map.resource :session

Install the default route as the lowest priority.

map.connect ‘:controller/:action/:id.:format’
map.connect ‘:controller/:action/:id’
end

En routes he probado cosas como:

map.resource :session, :controller => ‘session’
map.login ‘/login’, :controller => ‘sessions’, :action => ‘new’
map.logout ‘/logout’, :controller => ‘sessions’, :action => ‘destroy’

o también:
map.resource :sessions

…mil cosas.

Ya encontré mucha gente que habia tenido este problema, pero no me vale
ninguna solucion (o por lo menos las que he encontrado)… si hay
alguien que le paso lo mismo y probó algo nuevo, por favor que me diga
alguna pauta.

Muchas Gracias!!.

Un saludo.

Por lo pronto el controlador es “sessions” y no "session"map.login
“/login”,
:controller => “sessions”, :action => “new”

prueba a poner
map.connect “/login”, :controller => “sessions”, :action => “new”

El día 13 de julio de 2008 22:36, Javier H. <
[email protected]> escribió:

Emili Parreño wrote:

Por lo pronto el controlador es “sessions” y no "session"map.login
“/login”,
:controller => “sessions”, :action => “new”

prueba a poner
map.connect “/login”, :controller => “sessions”, :action => “new”

El día 13 de julio de 2008 22:36, Javier H. <
[email protected]> escribió:

Nada tio… he seguido un tutorial para instalar restful authentication
y configurarlo. He creado un controlador mas ‘home’ para la vista
principal:

views\home\index.html.erb:

PAGINA PRINCIPAL

<% if logged_in? %>

Hola <%=h current_user.login %>

<%= link_to 'Logout', :controller => 'session', :action => 'destroy'%>

<% else %>

No estas Logeadooo!!!

<%= link_to 'Login', :controller => 'session', :action => 'new'%>

<%= link_to 'Registrarse', :controller => 'users', :action => 'new'%>

<% end %>

no se…muchas gracias por la ayuda.

Un saludo.

hola javier prueba las siguientes instrucciones:

  1. ruby script/generate authenticated users sessions ==> usa “sessions”
    no
    “session”
  2. en el fichero de routes vas a colocar:
    a) map.resources :users
    b) map.resource :sessions
    c) map.connect ‘/login’, :controller => ‘sessions’, :action =>
    ‘new’
    d) map.connect ‘/logout’, :controller => ‘sessions’, :action =>
    ‘destroy’

y te deberia funcionar de pelos… asi lo tengo en mi proyecto

espero que te sirva la ayuda

2008/7/13 Javier H. [email protected]:

Manuel P. wrote:

hola javier prueba las siguientes instrucciones:

  1. ruby script/generate authenticated users sessions ==> usa “sessions”
    no
    “session”
  2. en el fichero de routes vas a colocar:
    a) map.resources :users
    b) map.resource :sessions
    c) map.connect ‘/login’, :controller => ‘sessions’, :action =>
    ‘new’
    d) map.connect ‘/logout’, :controller => ‘sessions’, :action =>
    ‘destroy’

y te deberia funcionar de pelos… asi lo tengo en mi proyecto

espero que te sirva la ayuda

Genial! Lo conseguí hace un par de días, efecticamente el error venia
por por usar ‘session’ y no ‘sessions’ en : ruby script/generate
authenticated users sessions

Y por otro lado estaba enrutando mal el link de mi vista y la ruta en
‘routes’, ya no sabia donde había puesto ‘session’ donde ‘sessions’…en
fin, repetí todo un par de veces probando manuales diferentes y
…aureca!

Al final, efectivamente, queda como explicas arriba.

Muchisimas gracias por contestarme.

Un saludo.