У меня есть основное приложение Rails, и я пытаюсь использовать проблемы для сушки моделей. Все идет хорошо в среде разработки, но когда я пытаюсь загрузить приложение на Heroku, она постоянно дает мне эту ошибку:Концерн не загружается в Rails 5
/app/app/models/address.rb:3:in `<class:Address>': uninitialized constant Address::Persistable (NameError)
Я попытался отключить жадную загрузку, но это не помогло.
Вот мой адрес Модель:
class Address < ApplicationRecord
include Persistable
belongs_to :city
belongs_to :company
validates :city_id, :human, :lat, :lng, presence: true
end
А вот модуль, который я назвал "persistable", расположенный в app/models/concerns/persistable.rb
module Persistable
extend ActiveSupport::Concern
included do
scope :historical, -> { where(is_historical: true) }
scope :deleted, -> { where(is_deleted: true) }
default_scope { where(is_historical: false, is_deleted: false) }
def delete
update_attribute(:is_deleted, true)
end
def archive
update_attribute(:is_historical, true)
end
def revive
update_attribute(:is_historical, false)
update_attribute(:is_deleted, false)
end
end
end
То, что я уже сделал:
- пытался отключить интенсивную загрузку
- пытался переместить
Persistable
модуль из каталогаconcerns
- попытался включить
concerns
путь к конфигурации автозагрузки
Ничего не работало, я до сих пор эта проблема!
UPDATE
Я заповедал форма guiderails r 'puts ActiveSupport::Dependencies.autoload_paths'
проверить autoload_paths и я получил:
D:/work/rails/www/app/models/concerns
D:/work/rails/www/app/assets
D:/work/rails/www/app/channels
D:/work/rails/www/app/controllers
D:/work/rails/www/app/helpers
D:/work/rails/www/app/jobs
D:/work/rails/www/app/mailers
D:/work/rails/www/app/models
D:/work/rails/www/test/mailers/previews
Спасибо! Но ошибка все еще появляется в различной форме: '' '/app/app/models/address.rb:3:in' ': uninitialized constant Persistable (NameError) '' '. Где я должен смотреть? –
Max
@Max: Кажется, что ваши autoload_paths каким-то образом перепутаны. Я бы посмотрел на это сейчас. –
Хорошо, добавленный в вопрос .. – Max