ruby-on-rails - 未初始化的常量 Admin::ModeratorsController::ModeratorInteractor
问题描述
嗨,我正在使用 ruby-2.3.0 和 rails 4 开发一个 RoR 项目。我正在尝试从控制器调用交互器方法。我的控制器位于 Admin 目录中,如下所示:
class Admin::ModeratorsController < Admin::ApplicationController
include Interactor
def index
ModeratorInteractor.find_abc(params)
end
end
我的互动者是:-
# frozen_string_literal: true
class ModeratorInteractor
def self.find_abc(params)
User.all
end
end
当我运行我的代码时出现错误uninitialized constant Admin::ModeratorsController::ModeratorInteractor
。我还尝试包括交互器:-
include Interactor
请帮助如何解决它。在此先感谢。
解决方案
您需要定义ModeratorInteractor
为module
将其包含在您的控制器中:
module ModeratorInteractor
def self.find_abc(params)
User.all
end
end
然后你需要确保模块被正确加载:
# in application.rb
config.autoload_paths += %W("#{config.root}/lib") # path to your module
或者您也可以使用require
代替autoload_paths
:
require "#{Rails.root}/lib/modeator_interactor"
然后在您的控制器中,您可以包含它:
include ModeratorInteractor
推荐阅读
- c++ - 使用 vtk 交互器后鼠标控制丢失
- android - Android BT HCI snoop log 何时开始记录蓝牙流量?
- snowflake-cloud-data-platform - Snowflake Lead Function
- html - 顺风css改变焦点按钮的颜色
- intellij-plugin - 插件操作未启用
- c++ - 链表推回
- javascript - jszip 在处理数据之前等待创建 zip
- docker - docker net web app 访问本地机器 wcf app
- objective-c - NSDate without Time 的核心数据组
- reactjs - 多个 React Wave 视图组件的动画