2010-06-04 35 views
0

當我打印部門的ActiveRecord的,我得到:的Rails:在ActiveRecord的印刷協會督察

部:0x210ec4c { :ID => 3, :名稱=> 「計算機科學」, ... :學校ID => 3 }

我怎樣才能讓它給我的學校,而不是學校ID的?換句話說,請在school_id發現的學校上致電to_s。隨便怎麼樣時,我有一處d,我可以說

d.school

爲了澄清,我專門詢問有關打印的ActiveRecord,以及有關司類,而不是特定的實例。我在想,如果有到PATCH ActiveRecord的,這樣,當我在控制檯打印Department類,我得到各個部門的school.to_s代替school.id

回答

1

如果這樣你assosciation像下面

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

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

然後

@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 
+0

好的,對不起,我的問題還不夠清楚。我特別詢問打印ActiveRecord,以及有關部門CLASS而不是特定實例。我想知道是否有辦法修補ActiveRecord,因此當我在控制檯中打印Department類時,我得到了每個Department的school.to_s而不是school.id – themirror 2010-06-04 17:47:14