2012-03-11 7 views
3

私はRuby on Rails 3.1を実行しています。私は、部分テンプレートテンプレートファイルに変数(たとえば、status = 'loaded')を設定するために "一般的に"使用されるプラクティス/テクニックを知りたいと思います。ではなく、は部分テンプレートのレンダリング時に変数設定を繰り返します。それは私が同じ要求に回の多くをレンダリングされた部分テンプレートファイルを持っていると私は、ログに警告メッセージを表示したいと思い、ある一度だけ(つまり、単一時間です)パーシャルテンプレートが複数回読み込まれても、パフォーマンス上の理由から(または「完璧主義」のために...)。ログにメッセージを1回だけ表示する「一般的な」プラクティス/テクニックは何ですか?

いくつかの言葉で、ログファイルに「警告」メッセージを1回だけ表示したいとします。

どのようにして(容易)を行うことができますか?

+0

私はここで何を求めているのか分かりませんが、まず変数を設定して変数設定を繰り返さないようにしたいとしたら、「ログに警告メッセージを表示する一度"。これらは2つの異なるものです。あなたはそれを求めていますか? (これは非常に一般的なことではありません。 –

答えて

0

はい、ログに記録されているメッセージのログを無効にすることはできますが、この方法はあまり簡単ではありません(this questionを参照)。 あなたは自分に尋ねるべきです、なぜこれをしたいですか?おそらく、あなたは何か間違っているでしょう。たとえば、テンプレートをループ内で複数回レンダリングする場合は、特別なオプションがありますが、パフォーマンスが向上します。あなたはこのようななめらかを持って考えてみましょう:

<% @followers.each do |follower| %> 
    <%= render :partial => "follower", :locals => {:follower => follower} %> 
<% end %> 

これはオプションで行うことができる:コレクション:

<%= render :partial => "follower", :collection => @followers %> 

そして、それは、より読みやすく、より効率的です。フルログ出力はデバッグに役立ちます。

関連する問題