0

コントローラにこのようなクエリがあり、JSONとしてJBuilderなどに渡しています。しかし、JBuilderには何も表示されません。{}を表示するだけです

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

したがって、そこに到達する前に、正しいデータを取得していること、結合が正しいことなどを確認したかっただけです。それで、それを実行できますか?

こんな感じで印刷されると言ったらputs @students、それぞれの中に何が入っているのか見たいです。

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

1 に答える 1

1

to_sでメソッドを定義するStudentと、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)
于 2013-03-06T22:35:57.540 に答える