0 votes

Rails : imprimer les associations dans les inspecteurs ActiveRecord

Lorsque j'imprime un ActiveRecord d'un département, j'obtiens :

Département:0x210ec4c { :id => 3, :name => "Informatique", ... :school_id => 3 }

Comment puis-je faire en sorte qu'il me donne l'école au lieu de l'ID de l'école ? En d'autres termes, appelez to_s sur l'école trouvée par le school_id. Tout comme lorsque j'ai un département d, je peux dire

d.école

Pour clarifier, je demande spécifiquement l'IMPRESSION de l'ActiveRecord, et la CLASSE Département plutôt qu'une instance particulière. Je me demandais s'il y avait un moyen de PATCHER ActiveRecord de sorte que lorsque j'IMPRIME la classe Département dans la console, je reçoive l'école.to_s de chaque Département au lieu de l'école.id.

1voto

Salil Points 20300

Si votre association est la suivante

class School < ActiveRecord::Base
  has_many :departments, :dependent => :destroy
end

class Department < ActiveRecord::Base
  belongs_to :schools, :dependent => :destroy
end

Puis

@department =Department.find(1) #For example here
@department.school #gives you the school object
# (i assume you are saving schoolname in 'name' column of schools table) 
@department.school.name  #This gives you school name

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X