I have a legacy database with a column named ‘class’ which is causing
Rails problems. Renaming the column isn’t an option and the workarounds
I’ve seen so far don’t suit.
I’m running rails 2.0.2 and an example of the error thrown looks like
this…
undefined method `generated_methods’ for “ADD”:String
How about
class MyTable < AR:Base
class << self
def instance_method_already_implemented?(method_name)
return true if method_name == ‘class’
super
end
end
end
If I’m reading things right, that will stop AR from generating a class
method to read your attribute. You can still get at it via foo[:class]
(or define you own method returning read_attribute(:class)
How about
class MyTable < AR:Base
class << self
def instance_method_already_implemented?(method_name)
return true if method_name == ‘class’
super
end
end
end
If I’m reading things right, that will stop AR from generating a class
method to read your attribute. You can still get at it via foo[:class]
(or define you own method returning read_attribute(:class)
You’re absolutely right and that’ll ding dang do for me very nicely
thanks, Fred! I no longer have errors in all the places they were
showing before.
Just as a note to anyone else reading this post, you might need to
restart script/console rather than issue a reload! command after
implementing this fix.