0

私はモデルを持っていますWidget

include SomeConcern

SomeConcern extends Activesupport::Concern それはすべて問題ありません。SomeConcernto_liquid のように定義されたメソッドを呼び出すことができ、すべてが桃色です。

クラスliquid_methods :foobar内で呼び出すと、関心のあるメソッドが液体のデフォルトのメソッドによってオーバーライドされます。Widgetto_liquid

問題のバージョンが優先されるようにするにはどうすればよいですか?

4

1 に答える 1

0

define_method :to_liquidモデルを呼び出すときに液体を使用しliquid_methodsます。

ミックスインを優先させたい場合は、その呼び出しの後に含める必要があります。

あなたができるもう1つのことは、通常のモジュール(常によりも望ましいActiveSupport::Concern)を持ち、prependそれを祖先チェーンの前に置くことです。

于 2014-05-16T02:18:40.410 に答える