Rails查询对象未加载

问题描述 投票:0回答:2

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

app/queries/car_query.rb

class CarQuery
  attr_reader :relation
  # code
end

当我在控制台中引用它时,我明白了

Error

NameError(未初始化的常量CarQuery)

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

ruby-on-rails eager-loading autoloader ruby-on-rails-5.2
2个回答
1
投票

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

CarQuery.rb违反了rails命名约定,并且会混淆自动加载。


0
投票

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

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

Spring.watch "app/queries/**"
© www.soinside.com 2019 - 2024. All rights reserved.