ruby-on-rails ruby ruby-on-rails-2

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