🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.ruby
Article #435

Re: RoR [newbie] scaffolding i relacje

#435
From: archiwista
Date: Thu, 15 Feb 2007 14:49
46 lines
1940 bytes
> Prosty przykład:
>
> create table pracownik(
>   id int,
>   nazwisko varchar(100),
>   zawod_id int,
>
>   constraint fk_prac_zawod foreign key (zawod_id) references zawod(id),
>
>   primary key (id)
> );
>
> create table zawod (
>   id int,
>   nazwa varchar(100),
>
>   primary key (id)
> );
>
> Edytując lub dodając pracownika chciałbym wybrać zawód z listy lub pola
> combo..  obojętnie z czego, byle by wybierać nazwę a nie id. Nie żądam
zbyt
> wiele od scaffold? :)
>

scaffold ci tego nie zrobi, jeżeli w modelach odpowiednio wpisałeś relacje
miedzy pracownik a zawód, powinno być

w modelu zawod

belongs_to :pracownik

w modelu pracownik

has_many :zawod

a potem jeżeli chcesz select_taga dla zawod dla pracownika, zmieniasz w
_form pracownika metodę dla zawod_id

np.
<% select_tag('zawod_id', options_for_select([['wybierz jeden']] +
@zawod.collect { |z| [z.nazwa, z.id]}, @pracownik.zawod.id)) %>

w controllerze pracownika w edit i w new w pisz

@zawod => Zawod.find(:all)
Technical Details
Message-ID: <er1run$mei$1@inews.gazeta.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.gazeta.pl!not-for-mail
References: <er1m37$egu$1@news.telbank.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.gazeta.pl!not-for-mail
From: "archiwista" <nie@ma.com>
Newsgroups: pl.comp.lang.ruby
Subject: Re: RoR [newbie] scaffolding i relacje
Date: Thu, 15 Feb 2007 15:49:58 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 49
Message-ID: <er1run$mei$1@inews.gazeta.pl>
References: <er1m37$egu$1@news.telbank.pl>
NNTP-Posting-Host: pc-81-219-65-17.dziesiata.com
X-Trace: inews.gazeta.pl 1171550999 22994 81.219.65.17 (15 Feb 2007 14:49:59 GMT)
X-Complaints-To: usenet@agora.pl
NNTP-Posting-Date: Thu, 15 Feb 2007 14:49:59 +0000 (UTC)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
X-Priority: 3
X-Newsreader: Microsoft Outlook Express 6.00.2600.0000
X-User: niezrzeszony1
X-MSMail-Priority: Normal
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit