ruby-on-rails - 奇怪的事件管理员(Rails)错误

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

这是迄今为止我遇到的最荒谬的错误之一。我登录到事件管理员并在我的屏幕上获取任何事件管理页面的信息:

(?i-mx:)

我查看了服务器日志,好像登录成功了,服务器计算了所有列的查询,但最终输出如上!我正在使用 ruby​​ 1.9.3、rails 3.1.3 和事件管理版本 0.4.4。

以下是其中一个页面加载的示例日志输出:

Started GET "/admin/points_logs" for 127.0.0.1 at 2012-08-01 09:01:10 -0400
  Processing by Admin::PointsLogsController#index as HTML
Geokit is using the domain: localhost
  AdminUser Load (0.4ms)  SELECT `admin_users`.* FROM `admin_users` WHERE `admin_users`.`id` = 1 LIMIT 1
   (30.9ms)  SELECT 1 FROM `points_logs` LIMIT 1 OFFSET 0
   (92.0ms)  SELECT COUNT(*) FROM `points_logs` 
  CACHE (0.0ms)  SELECT COUNT(*) FROM `points_logs` 
  CACHE (0.0ms)  SELECT COUNT(*) FROM `points_logs` 
  CACHE (0.0ms)  SELECT COUNT(*) FROM `points_logs` 
  PointsLog Load (0.7ms)  SELECT `points_logs`.* FROM `points_logs` ORDER BY `points_logs`.`id` desc LIMIT 30 OFFSET 0
  User Load (0.6ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 56 LIMIT 1
  User Load (0.7ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 2654 LIMIT 1
  CACHE (0.0ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 56 LIMIT 1
  CACHE (0.0ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 56 LIMIT 1
  User Load (0.8ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 1122 LIMIT 1
  User Load (0.5ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 718 LIMIT 1
  User Load (0.5ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 3689 LIMIT 1
  CACHE (0.0ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 3689 LIMIT 1
  User Load (0.4ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 821 LIMIT 1
  User Load (0.4ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 958 LIMIT 1
  User Load (0.4ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 4708 LIMIT 1
  CACHE (0.0ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 958 LIMIT 1
  User Load (0.4ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 5137 LIMIT 1
  CACHE (0.0ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 5137 LIMIT 1
  CACHE (0.0ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 5137 LIMIT 1
  User Load (0.7ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 3598 LIMIT 1
  CACHE (0.0ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 3598 LIMIT 1
  CACHE (0.0ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 5137 LIMIT 1
  User Load (0.6ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 413 LIMIT 1
  User Load (0.5ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 4324 LIMIT 1
  CACHE (0.0ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 4324 LIMIT 1
  User Load (0.6ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 1812 LIMIT 1
  User Load (0.4ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 3726 LIMIT 1
  User Load (0.4ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 1101 LIMIT 1
  User Load (0.4ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 2440 LIMIT 1
  User Load (0.4ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 3369 LIMIT 1
  User Load (0.4ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 3702 LIMIT 1
  User Load (0.5ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 5026 LIMIT 1
  User Load (0.4ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 684 LIMIT 1
  User Load (0.4ms)  SELECT `users`.* FROM `users` WHERE `users`.`id` = 1444 LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40464 LIMIT 1
  Transaction Load (0.4ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 29394 LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 32958 LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 37409 LIMIT 1
  Transaction Load (0.4ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40463 LIMIT 1
  Transaction Load (0.4ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40462 LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40461 LIMIT 1
  CACHE (0.0ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` =  LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40460 LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40459 LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40458 LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40457 LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40454 LIMIT 1
  CACHE (0.0ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` =  LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40452 LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40451 LIMIT 1
  CACHE (0.0ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` =  LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40450 LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40449 LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40448 LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40447 LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40446 LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40445 LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40443 LIMIT 1
  Transaction Load (0.3ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40442 LIMIT 1
  Transaction Load (0.6ms)  SELECT `transactions`.* FROM `transactions` WHERE `transactions`.`id` = 40441 LIMIT 1
  User Load (278.6ms)  SELECT `users`.* FROM `users` 
Rendered /Users/bpn/.rvm/gems/ruby-1.9.3-p194@_1.9.3/gems/activeadmin-0.4.4/app/views/active_admin/resource/index.html.arb (2594.3ms)
Completed 200 OK in 3168ms (Views: 2084.9ms | ActiveRecord: 755.6ms)
</p>

最佳答案

我通过查看 mini-profiler docs 找到了一种更简洁的方法来处理这个问题。并查看 config class 中的可用配置选项

config/initializers/mini_profiler.rb

Rack::MiniProfiler.config.skip_paths << '/admin' #or whatever you namespace active_admin under

旁注,还有一些其他有用的配置设置:
Rack::MiniProfiler.config.use_existing_jquery = true
Rack::MiniProfiler.config.pre_authorize_cb = lambda {|env| Rails.env.development?}

关于ruby-on-rails - 奇怪的事件管理员(Rails)错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11759977/

相关文章:

javascript - 从控制台调用 coffeescript 函数

mysql - 划分2个查询语句的列表

ruby-on-rails - ActionController::Parameters 'require' 方法返回一个字符串

codeigniter - Codeigniter Active Record 中的 Concat

php - 如何在 Codeigniter 中加入表以进行搜索查询

activerecord - Kaminari 是否可以使用继承资源?

ruby-on-rails - 可以在 form_for helper rails 3 中发送多种格式

ruby-on-rails - 在 check_box_tag 中生成自定义属性

ruby-on-rails - 给定日期和星期几,找到 future 最接近的日期

ruby-on-rails - 在 Bluehost 上部署 Rails 应用程序