2013-03-06 145 views
0

我在我的控制器中有一個像這樣的查詢,我將它作爲JSON傳遞給JBuilder,等等......但JBuilder什麼也沒有顯示!這只是表明{}查看結果,查詢返回與「puts」

@students = Students.top_students.joins(:program).where("programs.organization_id = ?", params[:id]).limit(10) 

所以纔到達那裏,我只是想確保它得到正確的數據,其聯接是正確的,等等。 所以我能做到這一點?

如果我只是說puts @students它會打印類似的東西,我想看看它們裏面都有什麼。

#<Student:0x007fd33ebe57a8> 
#<Student:0x007fd33ebe4d08> 
#<Student:0x007fd33ebe3ea8> 

回答

1

Student定義to_s方法和您的puts輸出將更加有用。我推薦使用inspect

def to_s 
    inspect 
end 

或者,您可以通過@students迭代,並做更多的輸出:

@students.each do |student| 
    puts "Id: #{student.id}" 
    puts "Name: #{student.name}" 
    ... 
end 

或者,如果你想保持它的簡單,快速的collect將這樣的伎倆:

puts @students.collect(&:inspect) 
+0

不錯。我不知道那種檢查方法。我聽說過flat_map之類的東西嗎?你也用過嗎? – Bohn 2013-03-06 22:38:08

+0

我以前沒有,但是這裏有一些文檔:http://apidock.com/ruby/Enumerable/flat_map – 2013-03-06 22:41:30