Domanda

vale a dire. eliminare tutti i file che esso ha creato e rollback di tutte le modifiche apportate? Non necessariamente al db, ma più per i file di configurazione.

es. cancellando automaticamente tutte le mappature delle risorse per il modello / regolatore cancellato nel file routes.rb e ovunque che potrebbero essere state apportate modifiche?

Grazie.

È stato utile?

Soluzione

rails destroy controller lalala
rails destroy model yadayada
rails destroy scaffold hohoho

Aste 3.2 aggiunge un nuovo collegamento d al comando, così ora è possibile scrivere:

rails d controller lalala
rails d model yadayada
rails d scaffold hohoho

Altri suggerimenti

vale la pena di menzionare il -p bandiera qui (p per finta).

Se si aggiunge questo al comando sarà semplicemente fare una corsa di "test" e vi mostrerà quali file saranno cancellati senza effettivamente cancellarli.

$ rails d controller welcome -p

  remove  app/controllers/welcome_controller.rb
  invoke  erb
  remove    app/views/welcome
  invoke  test_unit
  remove    test/controllers/welcome_controller_test.rb
  invoke  helper
  remove    app/helpers/welcome_helper.rb
  invoke    test_unit
  remove      test/helpers/welcome_helper_test.rb
  invoke  assets
  invoke    coffee
  remove      app/assets/javascripts/welcome.js.coffee
  invoke    scss
  remove      app/assets/stylesheets/welcome.css.scss

Se sei felice con esso, eseguire di nuovo il comando senza l'opzione -p.

rails destroy controller Controller_name stava tornando un po 'di errori. Per essere in grado di distruggere controllo ho dovuto togliere percorsi correlati in routes.rb. Post scriptum Sto utilizzando rotaie 3.1

Stai usando il controllo di versione (la sovversione, git, qualunque cosa)? Ripristina solo. Se no - perché no? !!

Questo è il prototipo di generare o distruggere un controller o modello rotaie.

rails generate/destroy controller/model [controller/model Name]

Per esempio, se è necessario generare dell'utente del controller

rails generate controller User

o

rails g controller User

se vogliono distruggere dell'utente del controller o ripristinare azione di cui sopra poi

rails destroy controller User

o

rails d controller User

entrare descrizione dell'immagine qui

Si potrebbe utilizzare rails d model/controller/migration ... per distruggere o rimuovere le variazioni generate utilizzando i binari generano comando.

Esempio: rails g model Home name:string crea un modello di nome home con l'attributo name. Per rimuovere i file e codice generato da quel comando possiamo usare il comando rails d model Home.

è possibile ripristinare l'output rails g/generate controller/model/migration xxx utilizzando:

 rails d/destroy controller/model/migration xxx

Si supponga che ho creato un campione di controllo di nome come come

rails generate controller sample

Se devo distruggere questo controller, tutto quello che devo fare è di swap generare con distruggere , come in

rails destroy controller sample.

Se si vuole invertire la generazione, tutto ciò che dovete fare è scambiare il ' generare ' con ' distruggere '

Se si preferisce eliminare il controller manualmente:

Per il regolatore welcome

rm app/controllers/welcome_controller.rb
rm app/views/welcome
rm test/controllers/welcome_controller_test.rb
rm app/helpers/welcome_helper.rb
rm test/helpers/welcome_helper_test.rb
rm app/assets/javascripts/welcome.js.coffee
rm app/assets/stylesheets/welcome.css.scss

Se si utilizza rotaie, uso rails d controller Users

e se si utilizza zeus, uso zeus d controller Users. D'altra parte, se si utilizza git o SVN, annullare le modifiche con il numero di commit. Questo è molto più veloce.

E 'possibile annullare una rotaie generano nei seguenti modi:

  • Per il modello: rails destroy MODEL
  • per il regolatore: rails destroy controller_name

Si può distruggere tutte le cose che è stato creato allo stesso modo, tranne pochi cambiamenti cosa. Per il regolatore,

rails d controller_name (d stands for destroy)

Per il modello

rails d model_name

che hai appena messo d(destroy) invece di g(generate) nella migrazione.

Per invertire questo, abbiamo appena distruggerla. Apri l'applicazione Terminale e passare alla directory del progetto. Poi, digitare questo:

rails destroy model CamelCase
rails destroy controller CamelCase

Dove CamelCase è un nome di qualsiasi modello o del controller. Si eliminerà il modello, la migrazione e alcuni dei file di test correlati. (Potete vedere risultato sul terminale dopo aver eseguito il comando.)

Tutte le generazioni di rotaie hanno un distruggerli di loro, così, se si crea dal generatore a (per esempio) impalcatura di nome "compiti", di distruggere tutti i cambiamenti di quel ganerate si dovrà digitare:

rails destroy scaffold Tasks

La speranza ti aiuta.

ponteggi rimosso in seguito a modello selezionato

bin/rails d scaffold <AccessControl> //model name

Prima di riportare l'rails generate, assicurati di far ritirare la migrazione prima.

Caso 1: se si desidera ripristinare patibolo quindi eseguire il comando -

rails destroy scaffold MODEL_NAME

Caso 2: se si desidera ripristinare il modello quindi eseguire il comando -

rails destroy model MODEL_NAME

Caso 3: se si desidera ripristinare controller di eseguire questo comando -

rails destroy controller CONTROLLER_NAME

Nota: è anche possibile utilizzare d scorciatoia al posto di destroy

Usiamo generare                           rails generate app. Quindi rigenerare qualsiasi istruzione generate può essere invertito istruzione using destroy. Basta sostituire generate con destroy vale a dire rails generate app può essere scritta come rails destroy app' rails generano ____asrails distruggono ____ `

per invertire rotaie generano, utilizzano guide distruggono

rails destroy Model

https://guides.rubyonrails.org/command_line.html#rails-destroy

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top