Accessing class variable issues, hopefully a quick one

Hi all,

I am fiddling around with a Setting model (a modified version of that
should scope settings by a domain_id. I have created a class accessor
so that I can set the domain_id in the model from the session.

The class looks a little like this:

class Setting < ActiveRecord::Base
belongs_to :domain

—snip —

    #set a setting value by [] notation
def self.[]=(var_name, value)
	if self[var_name] != value
		var_name = var_name.to_s

		record = find(:first, :include => :setting_type, :conditions =>

[‘domain_id = ? AND var = ?’, @@domain_id, var_name])
if record.nil?
type = SettingType.find_by_var(var_name)
record = => type)
record.value = value.to_yaml

		#TODO why cant i just use @@domain_id????
		record.domain = Domain.find(@@domain_id)


This seems to work but I would like to just use the value of
@@domain_id and apply it to the ‘record’ object like this:

record.domain_id = @@domain_id

except that doesn’t work. I can’t for the life of me work out why.
Every other time I access @@domain_id it grabs the value except in this
case. Strange!

Any pointers would be greatly appreciated.


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