47.12.1. Užití controlleru bez podkladové datové tabulky

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>
Licence Creative Commons
Tento dokument Ruby, jehož autorem je Radek Hnilica, podléhá licenci Creative Commons Uveďte autora-Nevyužívejte dílo komerčně-Zachovejte licenci 3.0 Česká republika .