RailsのHAMLプロジェクトでHTTPストリーミングを使用する際に問題があるようです。代わりにERBを使用すると、完全に機能します。どうやら、この問題を抱えているのは私だけではありません。
stream
コントローラの上部に配置したり、アクションで使用したりすることはできませんrender :stream => true
。
HAMLとHTTPストリーミングを一緒にうまく再生するにはどうすればよいですか?
更新: gemのページ(ここ)で問題を開きました。
これはHAML(ソース)ではまだサポートされていません:
HTTPストリーミングは、コアのHamlエンジンに大幅な変更を加える必要があるようなものです。基本的な場合でも機能させるのはやや難しいですが、空白を食べる演算子などを考慮すると、はるかに困難になります。
これは私が理論的に反対していることではありませんが、それを実装することの難しさを考えると、私の優先順位リストの上位にあるものでもありません。
Hamlの内部は、実際にバッファに書き込みを行っているようなものです。ただし、Railsがテンプレート言語用に従来提供してきた「標準」APIは、かなり単純なインとアウトの呼び出しです。Hamlには現在「ストリーミングサポート」があるとは思いませんが、それは他の何よりもAPIの問題です。
Railsがこれを行うためにERBにどのように接続しているかについて興味があります。