5

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?

+2

Vedi http://stackoverflow.com/questions/7759321/disable-rails-3-1-sql-logging – eugen

risposta

10

Inserisci questo nella console, o metterlo in file di configurazione della console:

ActiveRecord::Base.logger = nil 
+0

"file di configurazione della console": puoi dirmi dove si trova questo file? Mi piacerebbe personalizzare la mia console un po 'di – MrYoshiji

+0

@MrYoshiji, per fare leva è '~/.pryrc'. Non sono sicuro per irb. – Mori

Problemi correlati