スプロケットを使用する場合、.coffee ファイルのディレクトリ全体がトランスパイルされ、マージされて「mobile_v2.js」になります。このファイルが提供されると、コンテンツの SHA1 ハッシュを使用して素晴らしい ETag が設定されます。これにより、キャッシュ無効化とその他すべての優れた機能が正しく機能します。つまり、ソース .coffee ファイルのいずれかを変更してページをリロードすると、Sprockets は「mobile_v2.js」を再生成してクライアントに送信します。何も変更しない場合、クライアントはそのリソースのキャッシュされたコピーを使用します。これはうまくいきます。
ここで、Web アプリの一部がBackbone.jsを使用し、ユーザーが完全な「更新」を行わずに 1 つのページに非常に長い時間を費やすことができるというシナリオがあります。つまり、非常に多くの AJAX 更新ですが、新しい「...」はありません。文字通り、クライアントはこのページに何週間も費やすことができます。したがって、JS/CSS リソースに更新をプッシュする場合、クライアントがこれを検出してページ全体のリロードをトリガーする方法が必要です。完全なリロードを行うと混乱が生じるため、必要以上に頻繁にリロードしたくありません。また、これらのリソースについてサーバーをポーリングしたくありません... 私はこれらすべての AJAX 呼び出しを持っているので、追加の応答ヘッダーを使用してそれらの呼び出しをピギーバックすることができます。私にできることはすべて。1 つの簡単な質問についてのサポートが必要です。
「mobile_v2.js」のような生成されたリソースが与えられた場合、Sprockets にクエリを実行してそのファイルの SHA1 ダイジェストを取得するにはどうすればよいですか? (私のルビーコードから)