我有一个直接从ActiveResource::Base
继承的模型,我正在尝试为记录表中的大多数列运行alias_method
,但结果是一个NameError:
NameError:未定义的方法
address_line_1' for class
LeadImport :: Base'
但我可以访问该属性:
LeadImport::Base.new.address_line_1 #=> nil (not error)
我的类有一个名为address_line_1
的表列,所以我没有看到问题。
class LeadImport::Base < ActiveRecord::Base
alias_method :address_1, :address_line_1
end
规范:Ruby 1.8.7,Rails 2.3.8
答案 0 :(得分:26)
根据我发现的网站,您应该使用alias_attribute:
问题是ActiveRecord不会创建访问器方法 在数据库连接正常运行之前,它已经解析了 表模式。课程加载后很长一段时间。
class LeadImport::Base < ActiveRecord::Base
alias_attribute :address_1, :address_line_1
end