Haml: Liquidでの作業

作成日 2010年06月04日  ·  8コメント  ·  ソース: haml/haml

Liquidをレンダリングしようとすると、オブジェクト/モデルでis_haml?エラーが発生します。 LiquidとHAMLを並行して実行できるようにするための互換性設定はありますか?

ありがとう!

最も参考になるコメント

@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

これがあなたの状況にまったく当てはまるかどうかはわかりません。

よろしくお願いします、
デビッドボールドウィン

全てのコメント8件

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を追加すると問題が解決します。

このページは役に立ちましたか?
0 / 5 - 0 評価