【发布时间】:2017-03-08 16:50:19
【问题描述】:
我一辈子都无法在我正在构建的应用程序中加载。我将其用于数据表的服务器端处理。
以防万一它弄乱了我包含模块结构的东西,我有一个通用模块,其中包含一堆由具有包含通用模块的类的专用模块定义的东西。目的是使用专用类中的定义来处理在不同表中找到的不同类型的数据,而不必重复一堆代码。
- 我已经检查了另一个文件中提到的文件的大小写 发布。
- 我已经尝试过使用和不使用“扩展 模块内的 ActiveSupport::Concern。
- 我已尝试更改模块名称以防万一 它与其他东西发生冲突。
- 我尝试在前面添加“::” 来自另一个帖子的包含。
我还没去
错误:
ActionController::RoutingError (uninitialized constant MetatasksController::MetatasksDatatableModule):
app/controllers/metatasks_controller.rb:2:in `<class:MetatasksController>'
app/controllers/metatasks_controller.rb:1:in `<top (required)>'
我的控制器 (/app/controllers/metatasks_controller.rb) 有这个:
class MetatasksController < ApplicationController
include MetatasksDatatableModule
[...]
end
consern (/app/controllers/concerns/metatask_datatables_consern.rb) 有这个:
module MetatasksDatatableModule
extend ActiveSupport::Concern
class MetatasksDatatable
include DatatableModule
[...]
end
end
通用数据表模块(/app/controllers/concerns/datatables_module.rb)有这样的:
module DatatableModule
included do
[...]
end
end
我的自动加载路径包括文件夹(针对相关性/隐私进行了编辑):
> rails r 'puts ActiveSupport::Dependencies.autoload_paths'
[...]
/home/<user>/sites/<appname>/app/controllers/concerns
[...]
【问题讨论】:
标签: ruby ruby-on-rails-5