插件提供了一个名为User
的模型。是否可以在我的应用程序中重新打开它?
如果我创建app/models/user.rb
并在那里尝试,则会覆盖整个模型,并且原始插件方法不再可用。
答案 0 :(得分:1)
这是我到目前为止找到的唯一方法:
# app/models/plugin_user.rb
class PluginUser
def self.load
User.class_eval do
# my code here
end
end
end
# plugin model:
class User
# ...
end
PluginUser.load
如果有一种方法可以在不修改插件代码的情况下这样做会很好。在这种情况下,它并不重要,因为插件是我的,但如果我需要对另一个插件执行相同操作,我需要将其分叉。