Liquidをレンダリングしようとすると、オブジェクト/モデルでis_haml?
エラーが発生します。 LiquidとHAMLを並行して実行できるようにするための互換性設定はありますか?
ありがとう!
HamlはObject#is_haml?
メソッドを定義して、現在のテンプレートコンテキストがHamlであるかどうかを判断します。 Liquidのコンテキストオブジェクトがこれをどこかで定義していない可能性があると思います...問題を示す最小限のRailsアプリのtarballを教えてください。
@dewski-カスタムLiquidFilters内でActionViewHelpersを活用しようとすると、これに関していくつかの問題が発生しました。
例:
module LiquidFilters
include ActionView::Helpers::TagHelper
include ActionView::Helpers::UrlHelper
def mailto(address, name = nil)
mail_to(address, name, :encode => "javascript")
end
end
Liquid::Template.register_filter(LiquidFilters)
その後、次のエラーが発生しました...
Liquid error: undefined method `is_haml?' for #
簡単な修正は、モジュールにHaml::Helpersも含めることでした...
include Haml::Helpers
これがあなたの状況にまったく当てはまるかどうかはわかりません。
よろしくお願いします、
デビッドボールドウィン
これは私が必要としていることを正確に実行すると思います。これをテストして、あなたに連絡します。 ありがとう!
問題を解決したDavidに感謝します。 ネイサンがこれをどのように処理したいかを確認するために、これを開いたままにしておきます。 Hamlは、Liquidが定義されているかどうかを確認する必要がありますか?定義されている場合は、それを含めますか?
Liquidの特定の取り扱いは、ここに行く正しい方法ではありません。 根本的な問題を把握して修正する必要があります。 可能であれば、Railsアプリの再現を希望します。
これがあなたのために問題を引き起こすはずの最低限のアプリです...
git clone git://github.com/baldwindavid/liquidhaml.git
cd liquidhaml
rake db:setup
script/server
唯一の投稿の「表示」ビューにエラーが表示されます。 次に、見てみましょう...
config/initializers/liquid.rb
include Haml::Helpers
のコメントを外すと、フィルターが期待どおりに機能するはずです。
この例では、Rails2.3.5と次のgemを使用しています...
config.gem "haml", :version => "3.0.4"
config.gem "liquid", :version => "2.0.0"
追加が必要な場合はお知らせください。 ありがとう。
よろしくお願いします、
デビッドボールドウィン
この問題を古いものとして閉じます。 それでも影響を受ける人がいる場合はお知らせください。再開します。
ありがとう@baldwindavid 。 include Haml::Helpersを追加すると問題が解決します。
最も参考になるコメント
@dewski-カスタムLiquidFilters内でActionViewHelpersを活用しようとすると、これに関していくつかの問題が発生しました。
例:
その後、次のエラーが発生しました...
簡単な修正は、モジュールにHaml::Helpersも含めることでした...
これがあなたの状況にまったく当てはまるかどうかはわかりません。
よろしくお願いします、
デビッドボールドウィン