Working with sessions in beast forum

Hey,

I’m designing an app which displays the events near a user in RoR. I’m
using the beat forum to facilitate user management/sessions/etc. I’ve
edited the sessions table in the Beast database to contain a
“session_location” value and what I’d like to do is to set this to the
users location when they log in. This would allow them to change their
location for a session whilst not changing the value in their
settings.

I know that I have to set this value when a session is created but I’m
baffled about how (and where exactly) I have to do it. The following
code is used when creating a session:

class SessionsController < ApplicationController
def create
if using_open_id?
cookies[:use_open_id] = {:value => ‘1’, :expires =>
1.year.from_now.utc}
open_id_authentication
else
cookies[:use_open_id] = {:value => ‘0’, :expires =>
1.year.ago.utc}
password_authentication params[:login], params[:password]
end
end

protected
def open_id_authentication
authenticate_with_open_id params[:openid_url] do |result,
openid_url|
if result.successful?
if self.current_user = User.find_by_openid_url(openid_url)
successful_login
else
failed_login “Sorry, no user by the identity URL
{openid_url} exists”[:openid_no_user_message, openid_url.inspect]
end
else
failed_login result.message
end
end
end

def password_authentication(name, password)
  if self.current_user = User.authenticate(name, password)
    successful_login
  else
    failed_login "Invalid login or password, try again

please."[:invalid_login_message]
end
end

def successful_login
  cookies[:login_token] = {:value =>

“#{current_user.id};#{current_user.active_login_key}”, :expires =>
1.year.from_now.utc} if params[:remember_me] == “1”
redirect_to CGI.unescape(params[:to] || home_path)
end
end

If anyone could help, I’d really appreciate it.

On 30 Aug 2008, at 18:23, Gear¨®id O’Ceallaigh [email protected]
wrote:

I know that I have to set this value when a session is created but I’m
baffled about how (and where exactly) I have to do it. The following
code is used when creating a session:

IIRC session.model is the associated database row.

Fred

Riiight, could you expand on that? Thanks

On Aug 30, 9:12 pm, Frederick C. [email protected]

On 30 Aug 2008, at 22:13, Gear¨®id O’Ceallaigh [email protected]
wrote:

Riiight, could you expand on that? Thanks

Not much to say really - if the session is stored in the database with
activerecordstore then session.model is the activerecord object for
the corresponding row in the sessions table

Fred

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs