我的 rails 应用程序中有两个模型(A,B),它们之间有一个共享模块(C):
# app/models/a.rb
class A < ActiveRecord::Base
includes C
...
end
# app/models/b.rb
class B < ActiveRecord::Base
includes C
...
end
# lib/c.rb
module C
...
end
这两种模型都由 ActiveAdmin 页面管理:
ActiveAdmin.register A do
...
end
ActiveAdmin.register B do
...
end
A 的 ActiveAdmin 页面运行良好。但是,B 会导致我的 rails 应用程序在启动时崩溃:
NameError: uninitialized constant B::C
当我注释掉 B 中的包含或删除 routes.rb 中的 ActiveAdmin 的路由设置时,该应用程序运行良好。两者都不是可接受的解决方案。
我意识到我的实际代码会更有帮助,但恐怕代码库不属于我。我会接受任何能引导我找到正确解决方案的调试想法。