ruby-on-rails - Active Record 运行所有查询两次

标签 ruby-on-rails

不知道为什么在生产中会发生这种情况:

更新 这是来自 Rails 控制台:

User.all
  User Load (0.5ms)  SELECT "users".* FROM "users"
  User Load (0.5ms)  SELECT "users".* FROM "users"
2.0.0-p451 :005 > User.first.destroy
  User Load (0.6ms)  SELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT 1
  User Load (0.6ms)  SELECT "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT 1
   (0.2ms)  BEGIN
   (0.2ms)  BEGIN
  Discussion Load (60.4ms)  SELECT DISTINCT "discussions".* FROM "discussions" INNER JOIN "followers" ON "discussions"."id" = "followers"."discussion_id" WHERE "followers"."user_id" = $1  [["user_id", 1]]
  Discussion Load (60.4ms)  SELECT DISTINCT "discussions".* FROM "discussions" INNER JOIN "followers" ON "discussions"."id" = "followers"."discussion_id" WHERE "followers"."user_id" = $1  [["user_id", 1]]
  Reply Load (0.8ms)  SELECT "replies".* FROM "replies" WHERE "replies"."user_id" = $1  [["user_id", 1]]
  Reply Load (0.8ms)  SELECT "replies".* FROM "replies" WHERE "replies"."user_id" = $1  [["user_id", 1]]
  SQL (0.4ms)  DELETE FROM "users" WHERE "users"."id" = $1  [["id", 1]]
  SQL (0.4ms)  DELETE FROM "users" WHERE "users"."id" = $1  [["id", 1]]
   (0.5ms)  COMMIT
   (0.5ms)  COMMIT

我的生产设置:
  config.cache_classes = false
  config.eager_load = false
  config.consider_all_requests_local       = true
  config.action_controller.perform_caching = false
  config.action_mailer.default_url_options = { host: 'xxx' }
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.delivery_method = :smtp
  config.action_mailer.smtp_settings = {
    :authentication => :plain,
    :address => "xxx",
    :port => xxx,
    :domain => "xxx",
    :user_name => "xxx",
    :password => "xxx"
  }


  config.active_support.deprecation = :log
  config.active_record.migration_error = :page_load
  config.serve_static_assets = :false
  config.log_level = :debug
  config.assets.debug = true

希望有一些共同的问题?真的很奇怪不是吗?

最佳答案

我遇到了类似的问题,原来是 rails_12factor 中的一个错误我为heroku安装的gem。只需在 Gemfile 中将其设置为生产 gem 即可

gem 'rails_12factor', group: :production

关于ruby-on-rails - Active Record 运行所有查询两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23503238/

相关文章:

ruby-on-rails - rails : checking modified fields

ruby-on-rails - 事件管理字段上的 bool 值返回空而不是 false (Rails 3.2/Active Admin)

ruby-on-rails - 在 osx 上安装 pg gem 时出错

ruby-on-rails - EventMachine 和 Ruby 线程——这里到底发生了什么?

ruby-on-rails - 如何将单个列的值放入数组中

ruby-on-rails - 如何查找与给定条件没有关联的记录? (事件记录/PostgreSQL)

ruby-on-rails - Rails 3 - raw/html_safe 在某些情况下不起作用?

ruby-on-rails - 数据库中非唯一索引的目的是什么?

ruby-on-rails - gem 公寓 : One of the following schema(s) is invalid

ruby-on-rails - 带有 gmaps4rails 的谷歌地图中的不同标记