1

洗練されたメソッドを追加する宝石で定義されたクラスがあります(Ruby 2.3.0)。このクラスは、いくつかの Sinatra ビュー (haml) で表示されます。

これらの余分なメソッドをヘルパーで参照する場合、問題はありません。しかし、ビューでは、未定義のメソッド エラーが発生します。

私はトリックを逃していますか、それともusing ...ステートメントが私が到達できない場所に行く必要があるということですか?

(回避策: オブジェクトのメソッドを返すヘルパー メソッドを定義できます。しかし、それを行いたい場合は、改良を使用しなかったでしょう...)

4

1 に答える 1

0

改良の範囲は語彙的に決定されます。そのメソッドを呼び出すhaml内のメソッドを、usingコマンドの範囲内になるように書き換えない限り、リファインメントを使用することはできません。evalしかし、haml ファイルに記述したコードを評価するために、haml が内部的に使用しているか、そのようなものだと思います。その場合は無理です。

于 2016-03-04T12:16:29.790 に答える