Erb + wczytywanie danych (czyste ruby)

Witam, znalazlem juz sposob na robienie tpl’i w html i laczenie ich z kodem ruby, ale mam problem, nastepujacy, wczytujac w petli dane z pliku erb generuje htmla z ostatnio wczytanymi danymi, mam takie cosik:

-bash-3.2$ cat index.rhtml
<%
File.open(“news.txt”, “r”) do |file|
while wiersz = file.gets
kto, kiedy, co = wiersz.split("|")
ERB.new( IO.read( ‘index.tpl’ ) ).result( binding )
end
end
%>

-bash-3.2$ cat index.tpl

www in ruby Proste newsy w ruby:

Autor: <%= kto %>
Data: <%= kiedy %>
Treść: <%= co %>


a na stronce pojawia sie tylko ostatni wpis z pliku:

www in ruby Proste newsy w ruby:

Autor: Shark
Data: Sat, Jan 20 2007 17:16:57 +0100
Treść: lalalaaaaaaa a to jest juz mój kolejny news


ma ktoś moze jakis pomysl jak zrobic, zeby drukowaly sie wszystkie wpisy z pliku ?

jakiegos loopa musisz zrobic. Ale ten Twoj sposob jest hmm… dziwny.
Po pierwsze takie rzeczy to sie robi w kontrolerze. Obrób sobie te dane tam i przekaz juz gotowy obiekt Enumerable do template’u (tak zebys mogl sobie przejsc po obiekcie przez Object#each ).

Po drugie nie mozesz czytac tego z jakiejs bazy sqlowej ? Chociazby sqlite3 ?

Po trzecie to chyba nie rozumiesz jak dzialaja widoki w Railsach (wnioskuje to po uzyciu File.open(‘index.tpl’) )

napsialem ze NIE w rails , zwykle ruby, a dziwnie bo sie ucze dopiero i tak sobie kombinuje

chetnie poczytam czyjesc rozwiazania w samym ruby