我最近能够通过将所有内容分组到文件夹中来组织我的代码。
我遇到了一个问题,即我的两个控制器组在以下情况下具有相同的“组名称”app/
目录和我的模块下lib/
目录,但我能够通过以下方式修复:
Rails:库模块和一组控制器同名吗? https://stackoverflow.com/questions/18277055/rails-same-name-for-a-library-module-and-a-group-of-controllers/18277997?noredirect=1#comment26828781_18277997
我也知道每当你改变你的lib
代码,你需要重新启动rails服务器,这对我来说完全没问题。
但是在最近的重组之后,每次我更改控制器中的代码时,都会出现以下错误!
NameError at /admin
uninitialized constant Admin::PagerDuty
为了解决这个问题,我只需重新启动服务器即可!
有什么建议吗?
编辑:结构:
控制器main_controller.rb
在下面app/controllers/admin
class Admin::MainController < ApplicationController
end
Helper main_helper.rb
在下面app/helpers/admin
module Admin::MainHelper
require "admin/pager_duty.rb"
def pager_duty
pagerduty = Admin::PagerDuty.new()
@on_call = pagerduty.on_call()
@counts = pagerduty.open_incidents()
end
end
lib pager_duty.rb
在下面lib/admin
module Admin
class PagerDuty
....
end
end