Constants in models are initialized before fixtures are loaded?


#1

Hi,

here’s simplified code from the model:
class Foo < AR::Base
FIRST = Foo.first.id
end

The problem is that when testing I get well known error: “Called id
for nil…”. I guess that this constant is initialized before the
fixtures are loaded.

Is there any way to fix it?


#2

On 5 Nov 2008, at 10:25, szimek wrote:

fixtures are loaded.
The constant is initialized when the class is loaded which is indeed
before the fixtures are. Does it have to be a constant or would

class Foo < …
def self.some_function
#cache the value and return it
end
end

be acceptable?