ActionView :: Template :: Error(未初始化的常量LibObject):

时间:2018-07-04 02:43:42

标签: ruby-on-rails ruby function class model

我已将对象添加到lib文件夹中。 第一次运行良好,但是如果我修改控制器或模型,则显示Uninitialized constant error ....

这是lib / lib_object.rb

class LibObject
    def object_description
    "object description"
  end
end

它是从模型中调用的。

def object_description
  return LibObject.new.object_description
end

我不确定,为什么对某些代码进行修改后会得到uninitialized constant error…… 所以我需要每次重新启动服务器(更新代码)。 谢谢。

1 个答案:

答案 0 :(得分:1)

可以将其添加到您的config/application.rb中以加载lib/目录:

config.eager_load_paths << Rails.root.join('lib')

添加后重新启动本地服务器。

请记住,如果您使用autoload_paths

  

但是过去,开发人员可能会自行使用autoload_paths(前轨5),将autoload_paths配置为添加额外的位置(例如lib,几年前曾经是autoload路径列表,但现在不再是)。但是,现在不建议在大多数情况下使用此方法,因为这可能会导致仅生产错误。