Rails 5:未在视图/控制器中初始化的常量,但未在控制台中

时间:2019-06-25 22:14:14

标签: ruby-on-rails ruby-on-rails-5

在我的Rails 5应用中,我的app / lib中有一个模块

module LibClass
  CONSTANT_NAME = ‘somevalue’
end

然后在模型中,我引用该模块:

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

当我在控制台中的SomeModel实例上调用lib_class_constant时,一切都会按预期进行

但是如果我在视图中也这样做:

<%= some_model_instance.lib_class_constant %>

我遇到以下错误:

  

未初始化的常量SomeModel :: LibClass

如果我直接在视图中引用该模块:

<%= LibClass::CONSTANT_NAME %>

我遇到以下错误:

  

未初始化的常量ActionView :: CompiledTemplates :: LibClass

我在这里想念什么?

1 个答案:

答案 0 :(得分:1)

您是否在include LibClass之后尝试了class SomeModel < ApplicationRecord行? 否则,您是否检查过模型和文件的名称正确?也就是说,有时您重命名模型而没有相应地重命名文件,反之亦然...