在另一个引擎中使用引擎 class

Using Engine class in an other Engine

我有一个管理模型 users 的引擎 A(请注意,我无法修改此引擎)。

我有第二个引擎 B,我想为 users class.

设置一个新方法

在引擎 A 中,用户模型声明如下:

  Module Check
     class User
     end
  end

我尝试在 engine_b/models/user 中使用这个 class,语法相同:

  Module Check
     class User
       def my_new_method
         ...
       end
     end
  end

但是这个方法不起作用。有什么想法吗?

假设引擎 B 知道引擎 A,我想你可能需要的是 class_eval。请检查 this answer 以获取有关如何使用它的参考。