Rails如何从子目录包含模块

时间:2018-07-26 00:07:41

标签: ruby-on-rails ruby semaphore-ci

我目前有此文件夹目录

  1. 应用
    • 控制器
      • project_controller.rb
      • 子任务
        • index_helper.rb

project_controller.rb

class ProjectController < ApplicationController
  include Subtasks::IndexHelper

index_helper.rb

module Subtasks::IndexHelper
....

此配置在本地运行,无需使用require语句。 但是在CI(semaphoreci)上运行时,它会返回

ActionController::RoutingError:
        uninitialized constant Subtasks::IndexHelper

我尝试通过添加

的所有可能的子配置来使用自动加载功能
    config.autoload_paths.push "#{config.root}/app/controllers/subtasks"

但这会引发不同的错误

Failure/Error: include Subtasks::IndexHelper

LoadError:
Unable to autoload constant IndexHelper, expected 
/home/runner/app/controllers/subtasks/index_helper.rb to define it

我的问题是:有没有没有任何requirerequire_relativerequire_dependency子句的方法来包含此模块?此设置在几个月前就起作用了,但突然开始失败了。

0 个答案:

没有答案