在我的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
我在这里想念什么?
答案 0 :(得分:1)
您是否在include LibClass
之后尝试了class SomeModel < ApplicationRecord
行?
否则,您是否检查过模型和文件的名称正确?也就是说,有时您重命名模型而没有相应地重命名文件,反之亦然...