47.15.5. Číselník v modelu

Pokud je váber položek pro roletku konstantní, nemusíme je načítat z databáze. Potom je možné mít možné volby popsány v modelu a použit tento. V modelu tedy definuji metodu vracející pole voleb. V prvním sloupci je text k zobrazení v druhém hodnota pro databázi.

class Person < ActiveRecord::Base
    def self.volby_typu
        [
            ['Tiskař', 1],
            ['Strojník', 2],
            ['Obchodník', 3]
        ]
    end
end

V řadiči aplikace není nic neobvyklého:

class PersonController < ApplicationController
    …
    def new
        @person = Person.new
    end
    …
end

V pohledu pak použijeme metodu definovanou v modelu jenž vrací pole voleb.

<% form_for :person, @person, :url => {:action => 'create'} do |f|%>
    …
    <%= f.select :typ, Person.volby_typu} %>
    …
<% 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 .