attr_accessor in AR models?

Am I correct in thinking that one cannot use attr_accessor in ActiveRecord models?

I have success when using either cattr_accessor or mattr_accessor but not the native Ruby method. Am I missing something here, or is this how it really is?

Thanks. Elliott G

You can use attr_accessor in ActiveRecord models. Like this:

class Article < ActiveRecord::Base attr_accessor :my_prop end

Maybe you could post some code and/or error message.

/Lasse

Hi Lasse.

I think I may be able to get to the point a bit better with 2 more questions...

Am I correct in thinking that attr_accessor always returns or sets an instance variable?

Another reason I'm confused, is that, when I set an attr_accessor :foo in my model and then drop into script/console and call .methods on that model instance, I never see "foo" or "foo=" in the methods list when I run a search for them. Conversely when setting either cattr_accessor :foo or mattr_accessor :foo shows the the two new "foo" and "foo=" methods in the model's method list as expected.

What am I missing here?

Thanks, Elliott G

Thats because mattr_accessor is at module level, cattr_accessor is at class level, and attr_accessor is at instance level. So you have to use class.instance_methods to find your method – like this:

class_name.instance_methods.grep(/method_name/)

/Lasse

That clearly explains some of the issues I was having.

Thanks a ton!

EG