在我的 Rails 2.3 应用程序中,我发现问题源于现有 ActiveRecord 模型和我最近添加的 gem 之间的命名空间冲突。
具体来说,我试图添加jammit
对应用程序的支持。jammit 的依赖 gem 之一 require's 'platform'
,它将一个Platform
模块引入应用程序的命名空间。但是,我已经有一个具有该名称的 AR类,重命名它会引入许多额外的工作和可能的错误。
我想知道是否有一种相对简单的方法(使用 ruby 的 metamagic 或诸如此类)来防止这种命名空间冲突,而无需重命名我的类或更改实际的 gem。谢谢。
编辑:
而不是在我的应用程序中重命名/包装类 Platform
,并且由于该模块 Platform
仅由另一个 gem 需要,我导致分叉两个 gem,重命名Platform
为XPlatform
(原始 gem 和导入它的那个),并重建它们. 这似乎奏效了[叹气]。