J'ai un modèle Rails appelé Person qui a des colonnes de table de base de données pour prénom et nom_famille. J'ai également défini une méthode full_name pour renvoyer le prénom et le nom de famille combinés de l'instance.Comment renvoyer un tableau d'attributs définis via une méthode de modèle Rails, ainsi que les attributs de la table de base de données?
Existe-t-il un moyen de renvoyer un tableau, un hachage ou un objet avec prénom, nom_famille et nom_complet?
Voici le code que j'ai:
#person.rb
class Person < ActiveRecord::Base
validates_presence_of :first_name, :last_name
def full_name
self.first_name + " " + self.last_name
end
end
Voici ce que j'ai essayé dans la console Rails:
ruby-1.8.7-p302 > person = Person.new({:first_name=>"Bruce", :last_name=>"Wayne"})
=> #<Person id: nil, first_name: "Bruce", :last_name: "Wayne", created_at: nil, updated_at: nil>
ruby-1.8.7-p302 > person.save!
=> true
ruby-1.8.7-p302 > Person.last
=> #<Person id: 1, first_name: "Bruce", :last_name: "Wayne", created_at: "2010-11-09 22:53:14", updated_at: "2010-11-09 22:53:14">
Est-il possible d'obtenir quelque chose retourné comme ceci:
ruby-1.8.7-p302 > Person.last
=> #<Person id: 1, first_name: "Bruce", :last_name: "Wayne", :full_name: "Bruce Wayne", created_at: "2010-11-09 22:53:14", updated_at: "2010-11-09 22:53:14">
Ou peut-il seulement renvoyer des valeurs de la base de données?
Finalement, je voudrais être en mesure d'appeler Person.all
pour retourner un tableau de hachages qui comprend également full_name.
Merci à l'avance!
Merci, mais existe-t-il un moyen de renvoyer les trois: prénom, nom_famille et nom complet dans un hachage? Aucun de vos exemples ne le fait quand j'ai essayé votre code. – Chanpory
Que voulez-vous dire par un hachage? Développez votre question pour inclure un résultat attendu. –
S'il vous plaît voir le troisième exemple dans la question: '#' ... prénom, nom et nom complet sont renvoyés. –
Chanpory