Locale model to store language value not working

hi

I have a problem to store the current locale (language) used by a user .

I have this model that represent the locale:

class LocaleModel < ActiveRecord::Base
  @@global_locale = nil

  def self.global
    @@global_locale
  end

  def self.global=( locale )
    if locale.is_a? Locale
      @@global_locale = locale
    elsif locale.is_a? String
      locale = LocaleModel.find(:first, :conditions => ['short = ? ',
locale])
      return false if (! locale)
      @@global_locale = locale
    else
      # empty
      @@global_locale = nil
    end
  end

  def master?
    self.master == true
  end
end

In my application controller I do :

LocaleModel.global = 'fr' if LocaleModel.global == nil

And in some other controller I have an action that is used to change the
locale:

def change_locale
     LocaleModel.global = params[:lang]
end

The problem is that when I change the view or reload the page, the
locale always resets. How come ?

Thank You

I think you misunderstand what's a global variable in Ruby/Rails
It's not storing data between sessions. Whenever a user requests
a page, it's reset.
You must use the session object to store data between requests

On 12 Sep 2008, at

def change_locale
    LocaleModel.global = params[:lang]
end

The problem is that when I change the view or reload the page, the
locale always resets. How come ?

Because classes are reloaded between requests in development mode.

Fred