Tengo una tabla heredada que mi aplicación de rieles comparte con otra aplicación. Tiene una columna llamada "clase". La primera vez que hago referencia a cualquier atributo en ese modelo, aparece un error. Las referencias posteriores a los atributos funcionan. ¿Existe una buena solución para esto, o debería simplemente modificar la otra aplicación que usa esta tabla (ugh)?Tabla heredada con columna denominada "clase" en Rails
>> Member::Ssg.find(:first)
=> #<Member::Ssg ssg_key: #<BigDecimal:10b169688,'0.253E3',4(8)>, org_id: 2, academic_year: 2006, class: true, next_due_date: "2011-06-01", submitted_date: "2006-02-13", notes: nil, owner_id: "1">
>> Member::Ssg.find(:first).notes
NoMethodError: undefined method `generated_methods' for true:TrueClass
from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.8/lib/active_record/attribute_methods.rb:247:in `method_missing'
from (irb):2
>> Member::Ssg.find(:first).notes
=> nil
SOLUCIÓN: Fui con una combinación de la solución Bellmyer y añadiendo el siguiente código para mi modelo
class << self
def instance_method_already_implemented?(method_name)
return true if method_name == 'class'
super
end
end
sólo quiero decir que su solución actualizada funcionó muy bien. ¡Gracias! –
@JustinHoldsclaw, ¿lo probaste en Rails 4 o 5? –
@ MahmoudM.Abdel-Fattah esto fue en Rails 4.2 –