ruby-on-rails 如何使用Zeitwerk在Rails 6中正确扩展模块

sg3maiej  于 2023-04-08  发布在  Ruby
关注(0)|答案(1)|浏览(187)

我正在从classic自动加载器切换到zeitwerk。我遇到了这个问题:

NameError: uninitialized constant SomeHelper::Forms

我在app/helpers/some_helper.rb中有一个helper模块SomeHelper,它包含以下代码

module SomeHelper
  extend Forms::DateTimePickerHelper
    ...rest code....

Forms::DateTimePickerHelper模块位于app/helpers/forms/date_time_picker_helper.rb
我的问题是:如何纠正文件结构或模块名称,使Zeitwerk好?

9o685dep

9o685dep1#

找到原因,在config/application.rb中添加了这些行

config.autoload_paths << Rails.root.join('app/helpers')
config.autoload_paths << Rails.root.join('app/helpers/forms')

删除它们解决了问题。希望这对某人有帮助!

相关问题