Problema view con join tra tabelle

ciao a tutti!
sentite, c’è una cosa che non riesco a capire, e per spiegarvelo, vi
faccio un esempio:

Ho 2 tabelle in un progetto di gestione delle schede lavori ( non mi
dite subito che c’è qualcosa di già pronto, in quanto sto imparando, ed
avere una cosa già fatta sicuramente non mi aiuterebbe più di tanto ).
La tabella Projects e la tabella SubProjects. In quest’ultima è presente
la foreign key in modo da poterla legare alla tabella padre Projects.

drop table if exists projects cascade;
create table projects(
id int not null auto_increment,
descrizione_progetto text,
data_inizio date NOT NULL default ‘0000-00-00’,
data_prevista_fine date default ‘0000-00-00’,
durata int,
primary key (id)
)type=InnoDB;

drop table if exists sub_projects cascade;
create table sub_projects(
id int not null auto_increment,
fk_project int not null,
descrizione_sottoprogetto text,
data_inizio date not null default ‘0000-00-00’,
data_prevista_fine date default ‘0000-00-00’,
durata int,
constraint fk_subproject_project foreign key(fk_project) references
projects(id),
primary key (id)
)type=InnoDB;

Naturalmente, ho generato anche i modelli:

class Project < ActiveRecord::Base
has_many :sub_projects
end
class SubProject < ActiveRecord::Base
belongs_to :projects,
:class_name => “Project”,
:foreign_key => “fk_project”
end

Ora, mi sono deciso di fare le viste con il “generate scaffold Project”
e “generate scaffold SubProject”.
Tutto perfetto, tranne il fatto che quando ho l’elenco dei progetti,
vorrei avere un link che punti ai sottoprogetti di quel progetto.
Ho pensato di farlo così:
<%= link_to(“visiona sottoprogetti”, {:controller => “sub_projects”, :id
=> project }) %>

Il problema, anzi, i problemi sono:
come faccio a far vedere la lista dei soli sottoprogetti?
quando inserisco un nuovo sottoprogetto oppure ne aggiorno uno
esistente, come faccio a fargli ricordare a quale progetto padre
appartiene?


//\ariano Di Felice
Java PHP Python Ruby programmer
with MySQL, PostgreSql, SQLite and Oracle support
Linux Platform Developer
[email protected]
Tel. 0735 703735
Cell +39 339 6407211

NO ai brevetti software! http://www.nosoftwarepatents.com

Nota di riservatezza:
Il presente messaggio, corredato dei relativi allegati contiene
informazioni da considerarsi strettamente riservate, ed è destinato
esclusivamente al destinatario sopra indicato, il quale è l’unico
autorizzato ad usarlo, copiarlo e, sotto la propria responsabilità ,
diffonderlo. Chiunque ricevesse questo messaggio per errore o comunque
lo leggesse senza esserne legittimato è avvertito che trattenerlo,
copiarlo, divulgarlo, distribuirlo a persone diverse dal destinatario è
severamente proibito, ed è pregato di rinviarlo immediatamente al
mittente distruggendo l’originale.

Confidentiality Notice:
This message, together with its annexes, contains information to be
deemed strictly confidential and is destined only to the addressee(s)
identified above who only may use, copy and, under his/their
responsibility, further disseminate it. If anyone received this message
by mistake or reads it without entitlement is forewarned that keeping,
copying, disseminating or distributing this message to persons other
than the addressee(s) is strictly forbidden and is asked to transmit it
immediately to the sender and to erase the original message received.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs