У новій версії Rails, я думаю, починаючи з 3-х версій, запити бази даних виводяться на консоль. Це корисно більшу частину часу, але як це можна приховати, коли його не хочеться бачити?
У новій версії Rails, я думаю, починаючи з 3-х версій, запити бази даних виводяться на консоль. Це корисно більшу частину часу, але як це можна приховати, коли його не хочеться бачити?
Відповіді:
Кращий спосіб зробити це, ввівши це в консоль:
ActiveRecord::Base.logger.level = 1
оскільки це запобігає проблемам, що намагаються використовувати вказівник на реєстратор, встановлений на нульове значення (джерело: Вимкнути реєстрацію SQL-журналу Rails у консолі )
Щоб увімкнути його знову
ActiveRecord::Base.logger.level = 0
ActiveRecord::Base.logger = nil
від сюди
NoMethodError
до того, що ActiveRecord очікує, ActiveRecord::Base.logger
що це об’єкт, а не nil
.
Коротка відповідь ... У файлі development.rb змінити або додати значення config.log_level
так, щоб мати такий рядок
config.log_level = :info
Від мого друга:
your_query; nil
У рейках 3.2, налаштування
config.logger.level = Logger::INFO
добре працював для мене, щоб відключити вихід SQL.
Я бачу, що ви вже отримали потрібну відповідь, хоча я б хотів порадити дорогоцінний камінь "тихих активів", більшість даних журналу буде складанням активів та включеннями; цей самоцвіт видалить це та все ще виведе запити та поведінку даних.
Весело
ActiveRecord::Base.logger.level = 0
.