私は自分のコードを整理している最中です。これまでのところ、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"
ライブラリの名前を別の名前に変更する必要がありますか? またはこれを回避する方法はありますか?
編集:たとえば、ライブラリモジュールの名前を「Admin」ではなく「AdminLib」に変更すると機能します。したがって、問題は、これを回避する方法があるかどうかです。