Anyone using Restful_Authentication or could tell me ?

I'm having a problem getting the logout to work correct.

The sessions controller is how one logs in and out: Here is the destroy action:

def destroy     self.current_user.forget_me if logged_in?     cookies.delete :auth_token     reset_session     flash[:notice] = "You have been logged out."     redirect_to('index/welcome')   end

Just to preface, on my home page if user is logged in it displays the user name. The cookies and sessions are working correctly. However I've tried to get the logouts 2 ways: One is by creating a link_to 'sessions/destroy' This seems to do nothing , but return an error: Unknown action No action responded to show

The other way is that I just link to sessions which gives me an nil.login error for this view: <%= current_user.login %> <%= current_user.created_at.strftime("%m/%d/%Y") %>

I'd expect it being REST , that I need the link to show something like /destroy;6

Any ideas would be appreciated. Stuart

Hi Stuart,

I’m exploring this plugin, and rest myself at the moment. I’ve just played with the routes on this one to see if it works.

The following works if map.resources :sessions, :users is defined

<%= link_to “Logout”, session_url, :method => :delete %>

I was concerned initially that I would need to identify the session that it will destroy. Then I realised there is no model for the session to identify with an id.

Instead the sessions controller is just an interface to the session itself. In the destroy method, all actions taken are in relation to the current session only so nothing is actually being affected in the db.

A link to session_url with the method :delete causes the routes to map this to the destroy method.

This is seriously taking some getting used to for me.

Cheers Daniel

Take a look on http://restolog.googlecode.com/svn/trunk/ - i'm using restful auth

I see rest_auth as one of the plugins, is there added documentation in there from you ?

Stuart

Thanks for the information Daniel. Running the link removes the token and session. However I'm getting this error Routing Error no route found to match "/welcome" with {:method=>:get}

So the routes are set up correctly as you stated above and have been. However my main page is is the index / welcome (action) And in the destroy method I configured the blank redirect_to redirect_to('index/welcome')

So I think it was just set to default, perhaps I should have left it at that ? Gonna try it.

Stuart

And yes it works now. Who am I to go changing code :). Thanks for the help.

Stuart