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(name
, content
= 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[:
. Posledním parametrem je hash name
]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