首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >被`liquid_methods`覆盖的ActiveSupport::Concern `to_liquid`

被`liquid_methods`覆盖的ActiveSupport::Concern `to_liquid`
EN

Stack Overflow用户
提问于 2014-05-16 06:38:06
回答 1查看 140关注 0票数 0

我有一台Widget模型。

I include SomeConcern

SomeConcern extends Activesupport::Concern这一切都很好。我可以像to_liquid一样调用SomeConcern中定义的方法,一切都很顺利。

一旦我在Widget类中调用了liquid_methods :foobar,我所关注的to_liquid方法就会被liquid的默认方法覆盖。

我怎样才能让我的关注点版本接管优先权呢?

EN

回答 1

Stack Overflow用户

发布于 2014-05-16 10:18:40

当您在模型中调用liquid_methods时,liquid将使用define_method :to_liquid

如果您希望您的混入优先,则必须在调用之后包含它。

您可以做的另一件事是拥有一个常规模块(它总是比ActiveSupport::Concern更可取),并使用prepend将其放在祖先链的前面。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23689854

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档