Ho iniziato a imparare Ruby on Rails alcune settimane fa, e ho trovato molto più facile capire come appendere le cose e imparare a non usare il ponteggio e generare le varie parti dalla riga di comando (o macro in un IDE).
Tuttavia, da quello che posso dire, quando si usa lo scaffold per generare cose, si pensa che esso generi una "risorsa", quindi si creerà solo una risorsa alla volta, quindi si aggiungeranno le relazioni a mano dopo.
Tuttavia, il comando genera modello può creare queste relazioni per voi. Diciamo che hai usato scaffolding per creare una risorsa di scala.
Si potrebbe poi fare
ruby script/generate model GuitarString name:string scale:references
La scala: riferimenti creerà un belongs_to :scale
del modello GuitarString, ma avrete bisogno di aggiungere has_many: guitarstrings al modello in scala.
Il comando genera il modello crea anche uno script di migrazione per te e altri file necessari (dispositivi), simile allo scaffolding, ma non consente di autocreare viste o controller o altro.
EDIT:
Questo è generalmente come si sta andando a voler fare le cose - utilizzare il generano/modello o generare/vista o generano/controllore o generare/migrazione. La maggior parte degli sviluppatori di Rails non usa scaffolding, dal momento che la sua "taglia unica" raramente si adatta perfettamente alle cose. Tuttavia, la maggior parte degli sviluppatori di rails utilizza i comandi di generazione che ho citato, risparmiando tempo con la creazione manuale di helpers e fixture e dando a ciascun file un modello di base che è possibile aggiungere.
Diversi Ruby IDE come RubyMine di JetBrain dispongono di macro che eseguono essenzialmente questi comandi. In RubyMine puoi fare ctrl + alt + g, quindi inserire un altro tasto corrispondente a ciò che desideri generare.
La relazione appartiene_a può essere generata utilizzando la parola "riferimenti", come ho menzionato. Altri li aggiungerai a mano.
fonte
2010-04-04 17:23:41
possibile duplicato di http://stackoverflow.com/questions/502119/rails-scaffold-toautomatically-do-to-many-relationship – hobodave
@hobodave: silimar, sì. Sta chiedendo "può essere fatto" e sto chiedendo "è questo il modo di farlo, se no, come?" – Simon
Si consiglia di controllare la modifica nella mia risposta. –