Rails может разрешить модель пространства имен в разработке, но не в промежуточной среде - PullRequest
0 голосов
/ 07 июня 2018

Я столкнулся со следующей ошибкой при постановке, но локально работает нормально.

NameError (uninitialized constant Manager::Seller::Product)

Строка, вызывающая ошибку в /app/services/manager/admins/sellers/products/curation.rb

module Manager
  module Admins
    module Sellers
      module Products
         class Curation
            ...
            def my_function
               @product.update(entity_id: @entity_id,
                               curation_status: Seller::Product.curation_statuses[:accepted])
             end
      ....

Работаетделая его абсолютным, добавив :: к Seller::Product в приведенном выше коде, чтобы он разрешил его из верхней части каталога.

Странная вещь: в моем локальном / dev env я не получаюошибка.

Правильно ли я делаю интервал имен / постоянную вещь или

  • Это причина того, что Rails 5 имеет auto_reloading в dev, но не в подготовке / производстве или
  • Мне не хватает настроек в config / средах / staging.rb

модели / продавца / product.rb

  class Seller::Product < ApplicationRecord
      ...
  end
end

models / seller.rb

class Seller < ActiveRecord::Base
   ...
end

Refs: http://guides.rubyonrails.org/autoloading_and_reloading_constants.html#autoload-paths-and-eager-load-paths

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...