Nemá-li controller/řadič datovou tabulku, potřebujeme mechanismus kterým budeme uchovávat vybraná data (hodnoty proměnných) mezi zobrazeními stránek (akcemi).
Tímto mechanismem může být sezení (Session).
Funguje to následovně. V pohledu uvedeme formulář do kterého se zadávají informace.
Zde použijeme funkci text_field
pro vytváření těchto polí.
<%= start_form_tag :action => 'jmeno' %> Jméno: <%= text_field "frm", "jmeno" %><br/> Klíč: <%= text_field "frm", "klic" %><br/> <%= submit_tag "OK" %> <%= end_form_tag %>
V akci, která se na odeslání formuláře provede (:action => 'jmeno'
), vyčteme z parametrů hodnoty zapsané uživatelem do formuláře a uložíme tyto do sezení (session).
class PokusController < ApplicationController … def jmeno @session['jmeno'] = @params['frm']['jmeno'] @session['klic'] = @params['frm']['klic'] end
Uložené hodnoty můžeme ihned použít, například v pohledu metody jmeno
.
<p>Z předchozí strany tedy víme že bylo zadáno jméno:<%= @session['jmeno']-%> a klíč: <%= @session['klic']-%></p>