[débutant] Créer une nouvelle méthode pour un objet
Bonjour à tous,
J'aurais besoin de vos lumières pour comprendre comment créer une méthode.
Soit un projet RoR où j'ai une table personnes avec des champs id, nom, prenom, etc.
Dans un controleur, si j'ai
Code:
1 2
|
@personne = Personne.find(params[:id]) |
Je peux utiliser dans une vue @personne.id, @personne.nom, @personne.prenom, etc.
À présent, je souhaite créer une méthode qui ne correspondrait pas à un champs de la base de donnée. Par exemple si personnes comprend un champs anniversaire, j'aimerais pouvoir utiliser dans ma vue @personne.age .
Pour obtenir cet âge, je dois utiliser la date courante et celle d'anniversaire (je sais que je pourrais obtenir la même chose directement en SQL, mais c'est à titre d'exemple).
Dans /app/models/personne.rb, je suppose que je dois écrire quelque chose du genre
Code:
1 2 3 4 5
| def Personne.age
diff = Time.now - Time.mktime(personne.anniversaire)
[code ...]
return age
end |
Le premier obstacle auquel je me heurte étant de faire référence aux valeurs des champs à l'intérieur de cette méthode.
Merci pour les pistes qui me permettraient d'avancer en ce sens.
G.