6

最近、すべてをフォルダーにグループ化することで、コードを整理することができました。ディレクトリの下のコントローラのグループとディレクトリの下のモジュール
の両方に同じ「グループ名」を持つという問題がありましたが、これに従うことで修正できました: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
4

1 に答える 1