我正在组织我的代码,到目前为止,我已经成功地controllers/helpers/views
在文件夹“admin”中分组,但我曾经有一个具有相同模块名称“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
错误是"uninitialized constant Admin::PagerDuty"
我是否必须将我的库重命名为其他名称?还是有办法解决这个问题?
编辑:例如,如果我将库模块重命名为“AdminLib”而不是“Admin”,它会起作用。所以问题是是否有办法解决这个问题。