我正在使用 Spree,Spree 有一个名为 Order
的类,如下所示:
module Spree
class Order
# class definition.
end
end
在我自己的应用中,我一直在自定义 Order
,如下所示:
Spree::Order.class_eval do
# customisations
end
我的问题是,我可以简单地这样做吗:
module Spree
class Order
# My own customisations.
end
end
这有什么缺点吗?本质上,我想避免使用 class_eval
。
最佳答案
Benjamin,如果现有类不存在或未加载,则重新打开类不会通知您(但 class_eval
会引发错误)。
但是如果你有测试覆盖率,我想重新开课应该是安全的吧?
参见 https://stackoverflow.com/a/900508/474597以获得更详细的解释。
关于ruby - class_eval 和公开课,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22291235/