2011-02-21 4 views
1
require 'liquid' 
require 'extras/liquid_view' 

if defined? ActionView::Template and ActionView::Template.respond_to? :register_template_handler 
    ActionView::Template 
else 
    ActionView::Base 
end.register_template_handler(:liquid, LiquidView) 

このinit.rbファイルは何回実行されますか?これは1回限りのものか、アプリケーションの負荷ですか?液体プロジェクトでinit.rbは何をしていますか?

ActionView :: TemplateまたはActionView:Baseクラスのいずれかでregiser_template_handlerメソッドを呼び出すだけですか?

どのように動作しますか?

答えて

1

このinit.rbファイルは何回実行されますか?これは1回限りの処理ですか、アプリケーションの負荷ですか?

アプリケーションの負荷とプラグイン/宝石の中にロードされたときに、一度だけ実行される

それは単にActionView ::テンプレートまたはActionViewのいずれかで、regiser_template_handlerメソッドを呼び出している:。基本クラスを?

はい。 ActionView::Templateが定義されていて、register_template_handlerに応答すると、register_template_handlerが呼び出されます。それ以外の場合はActionView::Baseとなります。

どのように動作しますか?

この意味は正確にはわかりませんが、なぜそれがこのようなものなのかを意味するなら、下位互換性のためです。 ActionView::Templateは比較的新しい(v2.1の周りに導入されている)ので、古いバージョンで使用すると正常にフォールバックするようになっていると思います。

関連する問題