最近、すべてをフォルダーにグループ化することで、コードを整理することができました。ディレクトリの下のコントローラのグループとディレクトリの下のモジュール
の両方に同じ「グループ名」を持つという問題がありましたが、これに従うことで修正できました:app/
lib/
Rails:ライブラリモジュールとコントローラのグループに同じ名前?
また、コードを変更するたびにlib
、Rails サーバーを再起動する必要があることも知っていますが、これはまったく問題ありません。
しかし、最近の再編成の後、コントローラーのコードを変更するたびに、次のエラーが発生します!!!
NameError at /admin
uninitialized constant Admin::PagerDuty
それを解決するには、サーバーを再起動するだけです!!
何かアドバイス?!
編集:構造:
コントローラーmain_controller.rb
は下にありますapp/controllers/admin
class Admin::MainController < ApplicationController
end
ヘルパー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
libpager_duty.rb
は下にありますlib/admin
module Admin
class PagerDuty
....
end
end