Rieles: acceso al valor del campo desde el método del modelo

Acaba de empezar a aprender Rails (3). Me estoy arrancando el pelo tratando de encontrar cómo hacer algo presumiblemente absolutamente trivial: acceder al valor del campo de una instancia de modelo, desde dentro de un método en ese modelo.

En mi caso:

def formal_name @title + " " + @forename + " " + @surname end 

Las tres @properties (que son todos los campos en la tabla en la base de datos) devuelven nil . Ellos no deberían.

Increíblemente, cómo acceder a los campos no se explica en http://guides.rails.info/ , y Google no muestra nada.

Por cierto, vengo de Django, donde esto es obvio.

La syntax de @ se usa para las variables de instancia que (por ejemplo) se llenan en los controladores y luego se usan en las vistas. No es lo que estás haciendo aquí.

En realidad solo necesitas

 def formal_name title + " " + forename + " " + surname end 

Tienes que omitir la @, accedes a ellos a través de métodos getter. En algunos casos debes usar self. debido a la ambigüedad.

 class MyModel << ActiveRecord def formal_name title = self.title # return title attribute of instance forename = self.forename surename = self.surname # or something like this self.title + self.surename end end 
    Intereting Posts