Non riesco a capire come posso configurare un modulo che creerà un nuovo Study
durante la creazione del relativo StudySubject
e dello Facility
. Gli user_id
, facility_id
e study_subject_id
devono essere disponibili per creare l'oggetto Study
come si può vedere nel modello di relazione del database.Come creare oggetti nidificati in Rails3 usando accept_nested_attributes_for?
Ecco la migrazione per il studies
. Le altre tabelle non contengono chiavi esterne.
def self.up
create_table :studies do |t|
t.references :user
t.references :facility
t.references :subject
t.date "from"
t.date "till"
t.timestamps
end
add_index :studies, ["user_id", "facility_id", "subject_id"], :unique => true
end
I modelli definiscono le seguenti associazioni.
# user.rb
has_many :studies
# subject.rb
has_many :studies
# facility.rb
has_many :studies
# study
belongs_to :user
belongs_to :subject
belongs_to :facility
Domande
1) sono i has_many
e belongs_to
definizioni corrette?
2) Come posso creare un study
utilizzando accepts_nested_attributes_for?
3) Uno studio deve appartenere a un solo utente. Devo aggiungere lo user_id
in ogni altro oggetto per memorizzare l'associazione?
Sono totalmente nuovo a Rails da 2 settimane di apprendimento approfondito. Mi dispiace per una domanda stupida forse.
quale software è stato utilizzato per disegnare lo schema? – gmile
@gmile Ho usato http://www.cacoo.com – JJD