为Rails 3.1.1关闭详细的sql / ActiveRecord

时间:2011-11-01 13:11:13

标签: ruby-on-rails ruby activerecord ruby-on-rails-3.1

虽然SQL / ActiveRecord调用的详细功能在大多数情况下都很有用,但我希望在我进行循环的情况下将其关闭。

有没有办法把它关掉?

irb(main):055:0> City.first
  ←[1m←[35mCity Load (1.0ms)←[0m  SELECT `cities`.* FROM `cities` LIMIT 1
=> #<City id: 1, name: "bla bla", state_id: 1, zip: nil, country_id: nil,
created_at: "2011-03-27 14:11:28", updated_at: "2011-08-16 11:14:36", guid: "5PK
fvvz2Gsi">

2 个答案:

答案 0 :(得分:25)

在控制台中:
禁用:

old_logger = ActiveRecord::Base.logger
ActiveRecord::Base.logger = nil

启用:

ActiveRecord::Base.logger = old_logger

答案 1 :(得分:4)

在Rails 4中,我对ActiveRecord在我的规范中记录SQL语句感到恼火,所以我通过将其添加到config/environments/test.rb来禁用它:

Rails.application.configure do
  # ... 
  config.log_level = :info
end