rioRESERVoir

Allajah/Rioの個人ブログ

erbで挫けそうなお話

ruby使ってタイマー作ろうとしてます.
sinatraつかってWebアプリにしようと思ってerb書いてるんですけど,早速ハマった.2日解決してない.
今のところ求めてる動作は,60secから1secごとにカウントダウンされてく.

webtimer.rb

require 'sinatra'
require 'sinatra/reloader'
get '/' do
    @sec=60
    erb :webtimer
end

views/webtimer.erb

<html>
<head>
<title>
</title>
<body>
<h1> 
    <% for i in 1..60 do%> 
        <%= @sec %>
        <% sleep(1) %>
        <% @sec-=1 %>
        <br>
    <% end %>       
</h1>
</body>
</html>

これ,実行すると1分くらい経ってから60から0まで一気に表示される.
色々数字変えてみて推測したことは
erb(sinatra?)は一度処理を全部読み込んでから出力する(???)
多分.そうだとするとこのやり方だと詰む.ググったけど参考になる者は見つからず・・・
挫折しそうだからここにメモ