47.15.1. Vstupní pole bez datového modelu

Odkazy:

Občas potřebujeme na formuláři použít vstupní pole, které není svázáno se žádným datovým modelem. Takové „nezávislé“ pole.

Důvodem pro takovýto postup může být potřeba řešit jiným způsobem vstup data do databáze. Tedy když nemůžeme přímo editovat řádky v tabulce ale musíme dodžet postup jenž je garantován vstupním algoritmem. Vstupní algoritmus používá tedy vlastní pole a řízeně zapisuje spočtené hodnoty do databáze.

Pro vytvoření textového pole použijeme místo funkce text_field funkci text_field_tag. Ta má parametry

text_field_tag(namecontent = nil, options = {})

Parametr name je název pod kterým hodnotu zadanou výslednou hodnotu najdeme v poli @params. Druhý parametr content udává co se v textovém poli zobrazí jako implicitní hodnota. Nejlépe je zde použít hodnotu @params[:name]. Posledním parametrem je hash options Do něj ukládáme volby/attributy vytvářeného textového pole jako jsou například :size, …. FIXME:doplnit.

náklad: <%= text_field_tag :naklad, @params[:naklad] %>

V pohledu vykreslíme pole

<%= start_form_tag :action => 'dotisk', :id => … %>
    K dotisku zadáváme 
    <%= text_field_tag :naklad, @params[:naklad] %>
    kusů.
    <%= submit_tag %>
<%= end_form_tag %>

V požadované metodě dotisk se pak na hodnotu pole naklad odkážeme

def dotisk
        naklad = params[:naklad]
	⋮
    end
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 .