【问题标题】:Rails query object not loadingRails 查询对象未加载
【发布时间】:2019-03-21 00:16:01
【问题描述】:

我在 Rails 5.2.2 中有一个查询对象

app/queries/car_query.rb

class CarQuery
  attr_reader :relation
  # code
end

当我在控制台中引用它时,我得到了

错误

NameError(未初始化的常量 CarQuery)

由于文件夹/文件位于 app 目录中,我认为它会自动加载。我不正确吗?如果是这样,为什么我的表单对象会自动加载而不是这些?我该如何解决这个问题?

【问题讨论】:

    标签: ruby-on-rails eager-loading autoloader ruby-on-rails-5.2


    【解决方案1】:

    尝试在控制台中运行bin/spring stop,然后重新启动应用程序。

    如果这不起作用,请添加更新您的 application.rb

    Spring.watch "app/queries/**"
    

    【讨论】:

      【解决方案2】:

      确保文件名与类名相对应,否则 rails 将无法加载它。也就是说,如果 CarQuery 是类的名称,请确保文件名是car_query.rb

      CarQuery.rb 违反了 Rails 命名约定,并且会干扰自动加载。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-31
        • 1970-01-01
        • 2014-07-29
        相关资源
        最近更新 更多