Rails 7 活动作业的自动加载问题
Rails 7 Autoloading problem with active job
我的 Rails 7 应用程序 app/beer 中有一个应用程序目录,在该文件夹中有一个名为 cool.rb 的文件,其中包含一个已定义的执行方法。
所以在 ActiveJob DrinkSudsJob 执行方法中,我正在调用一个从 cool.rb 执行的方法:
def perform
Beer::Cool.execute
end
但是我的应用程序崩溃了。告诉我 未初始化常量 DrinkSudsJob::Beer
Zeitwerk:check 告诉我一切正常。我在这里做错了什么?
bin/rails r 'puts ActiveSupport::Dependencies.autoload_paths'
/Users/sputz/Documents/Workspace/Apps/2022/fug/app/beer
如果 zeitwerk:check
通过并且 app/beer
在自动加载路径中,则 app/beer/cool.rb
定义(并且必须定义)Cool
,而不是 Beer::Cool
。
我的 Rails 7 应用程序 app/beer 中有一个应用程序目录,在该文件夹中有一个名为 cool.rb 的文件,其中包含一个已定义的执行方法。
所以在 ActiveJob DrinkSudsJob 执行方法中,我正在调用一个从 cool.rb 执行的方法:
def perform
Beer::Cool.execute
end
但是我的应用程序崩溃了。告诉我 未初始化常量 DrinkSudsJob::Beer
Zeitwerk:check 告诉我一切正常。我在这里做错了什么?
bin/rails r 'puts ActiveSupport::Dependencies.autoload_paths'
/Users/sputz/Documents/Workspace/Apps/2022/fug/app/beer
如果 zeitwerk:check
通过并且 app/beer
在自动加载路径中,则 app/beer/cool.rb
定义(并且必须定义)Cool
,而不是 Beer::Cool
。