나는 레일과 그 문제에있어 루비를 처음 사용합니다. 루비 1.9.2와 레일즈를 기반으로하는 레일 어플리케이션을 구축했습니다.레일에서 루비에서 스트리밍보기 3.1
저는 레일에 스트리밍을 구현 한 것에 대한 이해를 가지고 문제를 겪었습니다. 레일이 템플릿 컨텐츠를 렌더링하기 전에, 레일을 평가하는 과정을 완료해야합니다.
는이 전 다음#!/bin/sh
cat <<END
Content-Type: text/html
END
for i in {1..10}
do
echo $i
sleep 1
done
그들은 모든 번, 스크립트에 의해 렌더링되므로이 브라우저에서 10-1에서 번호를 순차적으로 표시됩니다 같은 CGI 스크립트를 예를 들어 봅시다. 레일즈보기에서 에뮬레이트하고 싶은 동작입니다.
내가보기에서 다음과 같이 말할 수 있습니다.
<h1> hi </h1>
<%
sleep 5
%>
<h2> bye </h2>
아무 것도 표시하기 전에 절전 모드 5가 완료 될 때까지 대기합니다.
웹 서버에서 응답을보기 위해 curl -i를 사용하면 Transfer-Encoding에서 예상대로 응답 헤더가 예상대로 청크 처리됩니다. 그러나 수면이 완료 될 때까지 신체 내용을 렌더링하지는 않습니다.
위에서 붙여 넣은 간단한 cgi 스크립트와 동일한 방법으로 본문 내용을 렌더링하려면 어떻게해야합니까? 특히, 먼저 <h1> hi </h1>
다음에 5 초 후 <h2> bye </h2>
?
올바른지, 그리고 그것이'format.html {render : stream => true}'컨트롤러에있는 것입니다. 그리고 curl을 사용하면 응답 헤더와 레이아웃을 스트림 할 수 있지만 스트림의 내용은 볼 수 없습니다. 주형. –
여기에 템플릿이 스트리밍되지 않습니다 ... – Subhas