I have an ActiveRecord model with a cattr_accessor. The class attribute is set up like this: class MyModel < ActiveRecord::Base cattr_accessor :my_attribute end Because I need to give #my_attribute environment-specific values, I try to set this attribute in environments/development.rb like so: MyModel.my_attribute = 3 But this leads to odd and erratic behavior when #my_attribute is called from a controller. Sometimes MyModel.my_attribute returns 3, but sometimes it returns nil. Any suggestions?
on 2008-12-31 01:31
on 2008-12-31 02:02
Daniel Choi wrote: > MyModel.my_attribute = 3 > > But this leads to odd and erratic behavior when #my_attribute is > called from a controller. Sometimes MyModel.my_attribute returns 3, > but sometimes it returns nil. In development mode, models get reloaded on every request, so your variable won't persist. You'll have to set it in in a persistent class or module, in the global context, or in the database or session. -- Rails Wheels - Find Plugins, List & Sell Plugins - http://railswheels.com