2012-08-12 13 views
11

So che questa è probabilmente una domanda per principianti, ma è possibile creare una nuova azione (metodo nella vista associata al controller &) dalla riga di comando su un controller esistente?Creare una nuova azione per il controller esistente

Ad esempio, ho già un controller denominato "Prodotti". Potrei correre:

rails g controller products [new_action] 

e poi rotaie vorrei inserire:

def [new_action] 

end 

Into mio controller prodotti e creare un nuovo file chiamato '[new_action] .html.erb' nel/prodotti/directory vista ? L'ho già cercato su google, ma non è stata restituita una risposta soddisfacente. Inoltre, vorrei solo andare avanti e provarlo, ma io sono abbastanza lontano nello sviluppo della mia app attuale e davvero non voglio rovinare nulla.

+1

Non si sta utilizzando il controllo della versione? –

risposta

14

Sono abbastanza sicuro che non sarete in grado di farlo in modo automatizzato al 100%. Il motivo è che Rails non sa cosa hai fatto con i tuoi percorsi o controller, e richiederebbe qualche logica per sapere come aggiornare questi file esistenti. La soluzione migliore è semplicemente aggiungere la nuova azione manualmente. Aggiungi il nuovo metodo al tuo controller, aggiorna il tuo file di rotte e aggiungi la vista. Probabilmente impiegherà un minuto al massimo. Inoltre, se non stai usando il controller di versione (a cui la tua domanda è sfuggita), non devi preoccuparti di sovrascrivere automaticamente qualcosa.

-1

I binari forniscono la possibilità di creare generatori personalizzati (ma questo è l'argomento più avanzato), che può essere adattato alle proprie esigenze.

Maggiori informazioni:

http://guides.rubyonrails.org/generators.html

0

possiamo creare manualmente l'azione nel controller e vista ma si dovrebbe anche aggiungere istruzioni di prova che, poiché dovrebbe essere buono processo automatizzato, qualcosa come rotaie generare nome del controller [azione azione] opzione m m = unione

Problemi correlati