Rails 5: неинициализированная константа в представлении / контроллере, но не в консоли - PullRequest
0 голосов
/ 26 июня 2019

В моем приложении на Rails 5 у меня есть модуль в app / lib

module LibClass
  CONSTANT_NAME = ‘somevalue’
end

Затем в модели я ссылаюсь на модуль:

class SomeModel < ApplicationRecord
  def lib_class_constant
    LibClass::CONSTANT_NAME
  end
end

Когда я звоню, все работает как положеноlib_class_constant для экземпляра SomeModel в консоли

Но если я делаю то же самое в представлении:

<%= some_model_instance.lib_class_constant %>

Я получаю сообщение об ошибке:

неинициализированная константа SomeModel :: LibClass

Если я ссылаюсь на модуль непосредственно в представлении:

<%= LibClass::CONSTANT_NAME %>

Я получаю сообщение об ошибке:

неинициализированная константа ActionView :: CompiledTemplates :: LibClass

Что мне здесь не хватает?

1 Ответ

1 голос
/ 26 июня 2019

Вы пробовали линию include LibClass сразу после class SomeModel < ApplicationRecord? В противном случае вы проверили, что модели и файлы имеют правильные имена? то есть иногда вы переименовываете модель без соответствующего переименования файла или наоборот ...

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