我有一个模型Widget
。
我include SomeConcern
SomeConcern extends Activesupport::Concern
多数民众赞成。我可以调用SomeConcern
中定义的方法,比如to_liquid,一切都很好。
在liquid_methods :foobar
课程中呼叫Widget
后,我所关注的to_liquid
方法会被默认的液体覆盖。
如何让我的关注版本接管优先权?
答案 0 :(得分:0)
define_method :to_liquid
时, liquid使用liquid_methods
。
你希望你的mixin优先,你必须在那次通话后加入它。
你可以做的另一件事是有一个常规模块(总是优于ActiveSupport::Concern
)并使用prepend
将它放在祖先链的前面。