ruby-on-rails – Rails:库模块和一组控制器的名称相同?
发布时间:2020-12-17 03:05:43 所属栏目:百科 来源:网络整理
导读:我正在组织我的代码,到目前为止,我已经成功地设置了文件夹“admin”中的groupcontrollers / helpers / views,但我曾经最初拥有一个具有相同模块名称“admin”的库,我不是能够再打电话了. (姓名冲突?) 新结构: Directory Structure - app - controllers - a
我正在组织我的代码,到目前为止,我已经成功地设置了文件夹“admin”中的groupcontrollers / helpers / views,但我曾经最初拥有一个具有相同模块名称“admin”的库,我不是能够再打电话了. (姓名冲突?)
新结构: Directory Structure -> app -> controllers -> admin #new -> admin_main -> admin_permissions -> Helpers -> admin #new -> admin_main_helper -> admin_permissions_helper -> lib -> admin -> pagerduty.rb 我以前能够从我的助手那里打电话给我的图书馆,如下所示: module Admin::AdminMainHelper #admin:: is new require "./lib/admin/pagerduty.rb" def pager_duty pagerduty = Admin::PagerDuty.new() #throws error after the new structure @on_call = pagerduty.first_on_call() @counts = pagerduty.open_incidents() end end 错误是“未初始化的常量Admin :: PagerDuty” 我是否必须将我的库重命名为其他内容?或者有办法解决这个问题吗? 编辑: 解决方法
我认为问题在于加载路径.我认为要求应该是:
require "#{Rails.root}/lib/admin/pagerduty.rb" 另一个解决方案,虽然有点重,但是要加载LOAD_PATH中的所有lib子目录,例如: 在config.autoload_path的application.rb中: config.autoload_paths += Dir["#{config.root}/lib/**/"] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读