Когда я запускаю сервер rails как демон, зачем мне включать eager_load? - PullRequest
0 голосов
/ 05 июля 2018

Когда я запускаю rails s -d, если я не установил config.eager_load на true, то следующий код выдает ошибку:

Plan.includes(
  [{template: [
               {phases: {sections: {questions: :answers}}}
              ]},
   {plans_guidance_groups: {guidance_group: :guidances}}
  ]).find(id)

Примечание:

  • У шаблона много планов, план принадлежит шаблону
  • Шаблон имеет много фаз, фаза принадлежит шаблону

А также ошибка, которую я получаю:

Association named 'phases' was not found on Template; perhaps you misspelled it?

Но ошибка не имеет смысла, так как ассоциация действительно была определена:

class Template < ActiveRecord::Base

  # more code here

  ##
  # Associations
  belongs_to :org
  has_many :plans
  has_many :phases, dependent: :destroy
  has_many :sections, through: :phases
  has_many :questions, through: :sections

  # more code here

Когда я запускаю rails s -d, если я установил config.eager_load на true, он работает нормально.

Кроме того, когда я запускаю rails s с config.eager_load до false, он работает нормально, поэтому я подозреваю, что с демоном что-то не так. Но я не знаю, что это, и я не знаю, где искать. Кто-нибудь знает, что происходит и где найти документацию?

...