Pokracoval som dalej. Pripravil som si v MySQL tabulku 'categories' s polozkami 'id' a 'name'. Dalej som vytvoril controller a vsetky tie veci okolo toho.ruby script/generate scaffold ludia name:texta teraz uz len to spojenie, aby sa kategoria dala vyberat. Do modelu ludia (/addressbook/app/models/ludia.rb) dopiseme belong_to :category. Urobi to to, ze vlozi kategorie do modelu ludia.
class Ludia < ActiveRecord::Base
belongs_to :category
end
Dalej do modelu category pridame tiez zopar riadkov.
class Category < ActiveRecord::Base
has_many :ludias
def to_s
"#{name}"
end
end
Ta prva vec spoji tieto dva modeli dohromady a druha funkcia zabezpeci, ze ak sa vola objekt categoty, tak myslim category.name
Ako tretie nasleduje doplnenie ludias_controllera.rb. Pridame riadok @categories = Category.find(:all)
# GET /ludias/new
# GET /ludias/new.xml
def new
@ludia = Ludia.new
@categories = Category.find(:all)
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @ludia }
end
end
# GET /ludias/1/edit
def edit
@ludia = Ludia.find(params[:id])
@categories = Category.find(:all)
end
A ideme to finale. Do view/ludias/new.html.erb pripiseme
<%= f.label :category %>
<%= select "ludia", "category_id",
Category.find(:all).collect {|p| [ p.name, p.id ] },
{:include_blank => true} %>
To iste vlozime aj do edit.erb. A tamtadada !!!

Kedze som sa dostal tak daleko,ideme na prvu zakazku. Ostatne sa doladi po ceste. Uz mi bol dodany datovy model, takze uz dnes idem nato. Drzte palce !!!
Na zaver: Kategoria Ruby je blbost a tak som sa rozhodol, ze to bude Rails. :)

Žiadne komentáre:
Zverejnenie komentára