Ho spesso bisogno di andare sulla console Rails con rails c
. Quindi eseguo alcune istruzioni che eseguono il loop dei record di un modello. Ho bisogno di produrre informazioni, ma anche tutto il codice SQL viene sparpagliato. Come:Un modo semplice per sopprimere l'output SQL nella console di Rails?
Students.all.each {|s| puts s.inspect unless s.attendance};nil
ho messo che nil
alla fine così non ottengo una brutta discarica di tutti gli studenti. Questa è l'uscita:
Student Load (4.3ms) SELECT "students".* FROM "students"
Attendance Load (3.6ms) SELECT "attendances".* FROM "attendances" WHERE "attendances"."id" = 2694 LIMIT 1
Attendance Load (2.7ms) SELECT "attendances".* FROM "attendances" WHERE "attendances"."id" = 2695 LIMIT 1
Attendance Load (4.9ms) SELECT "attendances".* FROM "attendances" WHERE "attendances"."id" = 2689 LIMIT 1
#<Student id: 3, attendance_id: 2689, teacher_id: 6, began_at: "2013-05-21 19:16:37", finished_at: "2013-05-21 20:34:33", created_at: "2013-05-21 19:16:37", updated_at: "2013-05-21 20:34:33">
Attendance Load (2.0ms) SELECT "attendances".* FROM "attendances" WHERE "attendances"."id" = 2692 LIMIT 1
#<Student id: 26, attendance_id: 2713, teacher_id: 6, began_at: "2013-05-21 22:44:25", finished_at: "2013-05-21 22:44:42", created_at: "2013-05-21 22:44:25", updated_at: "2013-05-21 22:44:42">
Attendance Load (1.6ms) SELECT "attendances".* FROM "attendances" WHERE "attendances"."id" = 2714 LIMIT 1
#<Student id: 27, attendance_id: 2714, teacher_id: 3, began_at: "2013-05-21 22:45:06", finished_at: "2013-05-21 22:45:27", created_at: "2013-05-21 22:45:06", updated_at: "2013-05-21 22:45:27">
Attendance Load (4.0ms) SELECT "attendances".* FROM "attendances" WHERE "attendances"."id" = 2712 LIMIT 1
Qui in realtà non è così male, ma è ancora a volte difficile vedere quello che voglio. Un modo semplice per sopprimere l'output SQL?
Vedi http://stackoverflow.com/questions/7759321/disable-rails-3-1-sql-logging – eugen