Sinatra uygulamamıza hafıza ekleyelim
Andaç Karay Kudu, 08 Dec 2015
Bir önceki yazımda sinatra ile bir echo uygulaması yapmıştık. Bu defa uygulamamızın mesajları hatırlamasını sağlayacağız.
Bunun için gelen mesajları bir dizide saklayacağız. Mesajlar dizini de sinatra ayarlarında belirteceğiz.
# memory.rb
require 'sinatra'
require 'tilt/erb'
configure do
set :memory, []
end
get '/' do
@messages = settings.memory
erb :index
end
post '/' do
@messages = settings.memory << params[:message]
redirect '/'
end
__END__
@@ index
<!DOCTYPE html>
<html>
<head>
<title>messages</title>
</head>
<body>
<form method="POST">
<input type="text" name="message">
</form>
<p>
<ul>
<% @messages.each do |message| %>
<li><%= message %></li>
<% end %>
</UL>
</p>
</body>
</html>
Uygulamamızı çalıştıralım.
$ ruby memory.rb
Sonuç
http://localhost:4567 adresindeki uygulamamız gönderdiğimiz mesaları hatırlıyor.