ruby on rails - alias_method en ActiveRecord:: Resultados base en NameError
ruby-on-rails ruby-on-rails-2 (1)
Tengo un modelo heredado directamente de ActiveResource::Base
, y estoy tratando de ejecutar alias_method
para la mayoría de las columnas en la tabla del registro, pero el resultado es un error de nombre:
NameError: método indefinido
address_line_1'' for class
LeadImport :: Base''
Sin embargo, puedo acceder al atributo:
LeadImport::Base.new.address_line_1 #=> nil (not error)
Mi clase tiene una columna de tabla llamada address_line_1
, así que no veo el problema.
class LeadImport::Base < ActiveRecord::Base
alias_method :address_1, :address_line_1
end
Especificaciones: Ruby 1.8.7, Rails 2.3.8
Según un sitio que encontré, se supone que debes usar alias_attribute en su lugar:
El problema es que ActiveRecord no crea los métodos de acceso sobre la marcha hasta que la conexión de la base de datos esté activa y haya analizado el esquema de la tabla. Eso es mucho tiempo después de que la clase ha sido cargada.
class LeadImport::Base < ActiveRecord::Base
alias_attribute :address_1, :address_line_1
end