我有一个遗留表,我的rails应用程序与另一个应用程序共享.它有一个名为"class"的列.我第一次引用该模型中的任何属性时,出现错误.对属性的后续引用有效.有没有一个很好的解决方法,或者我应该去修改使用此表的其他应用程序(呃)?
>> 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
Run Code Online (Sandbox Code Playgroud)
解决方案:我使用了Bellmyer解决方案的组合,并将下面的代码添加到我的模型中
class << self
def instance_method_already_implemented?(method_name)
return true if method_name == 'class'
super
end
end
Run Code Online (Sandbox Code Playgroud)