c’est-à-dire supprimer tous les fichiers qu’il a créés et annuler toutes les modifications apportées? Pas nécessairement à la base de données, mais plus aux fichiers de configuration.
Par exemple. supprimer automatiquement tous les mappages de ressources pour le modèle/contrôleur supprimés dans le fichier routes.rb et partout où des modifications auraient été apportées?
Merci.
Rails destroy controller lalala
Rails destroy model yadayada
Rails destroy scaffold hohoho
Rails 3.2 ajoute un nouveau raccourci d
à la commande, vous pouvez donc écrire:
Rails d controller lalala
Rails d model yadayada
Rails d scaffold hohoho
Il convient de mentionner le -p flag ici (p pour faire semblant).
Si vous ajoutez ceci à la commande, il effectuera simplement un test et montrera quels fichiers seront supprimés sans les supprimer.
$ 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
Si cela vous convient, réexécutez la commande sans l'indicateur -p.
Rails destroy controller Controller_name
retournait un tas d'erreurs. Pour pouvoir détruire le contrôleur, j'ai dû supprimer les routes associées dans routes.rb. P.S. J'utilise Rails 3.1
Utilisez-vous le contrôle de version (Subversion, git, peu importe)? Reviens juste. Si non - pourquoi pas? !!
Il s'agit d'un prototype permettant de générer ou de détruire un contrôleur ou un modèle dans Rails.
Rails generate/destroy controller/model [controller/model Name]
par exemple, si vous devez générer un contrôleur d’utilisateur
Rails generate controller User
ou
Rails g controller User
si vous voulez détruire le contrôleur utilisateur ou revenir à l'action ci-dessus alors
Rails destroy controller User
ou
Rails d controller User
Vous pouvez utiliser Rails d model/controller/migration ...
pour détruire ou supprimer les modifications générées à l'aide de la commande Rails generate.
Exemple: Rails g model Home name:string
crée un modèle nommé home
avec l'attribut name
. Pour supprimer les fichiers et le code générés à partir de cette commande, nous pouvons utiliser la commande Rails d model Home
.
Pour supprimer le contrôleur manuellement, au cas où la commande Rails d controller
ne fonctionnerait pas:
Pour le contrôleur 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
Supposons que j'ai créé un contrôleur nommé sample comme
Rails generate controller sample
Si je dois détruire ce contrôleur, tout ce que je dois faire est d’échanger le générer avec détruire , comme dans
Rails destroy controller sample.
Si vous voulez inverser la génération, tout ce que vous avez à faire est d’échanger le ' générer ' avec ' détruire '
vous pouvez rétablir votre sortie Rails g/generate controller/model/migration xxx
en utilisant:
Rails d/destroy controller/model/migration xxx
Vous pouvez détruire toutes les choses qui ont été créées de la même manière, sauf un petit changement.
Rails d controller_name (d stands for destroy)
Pour modèle
Rails d model_name
vous venez de mettre d(destroy)
au lieu de g(generate)
dans votre migration.
Si vous utilisez Rails, utilisez Rails d controller Users
et si vous utilisez zeus, utilisez zeus d controller Users
. Par contre, si vous utilisez git ou SVN, annulez vos modifications avec le numéro de validation. C'est beaucoup plus rapide.
Vous pouvez annuler une génération de Rails de différentes manières:
Rails destroy MODEL
Rails destroy controller_name
Pour inverser cela, nous le détruisons simplement. Ouvrez l'application Terminal et allez dans le répertoire du projet. Ensuite, tapez ceci:
Rails destroy model CamelCase
Rails destroy controller CamelCase
Où CamelCase est le nom d’un modèle ou d’un contrôleur . Il supprimera le modèle, la migration et certains fichiers de test associés. (Vous pouvez voir le résultat sur le terminal après avoir exécuté la commande.)
Toutes les générations de Rails sont détruites. Ainsi, si vous créez par générateur un échafaudage nommé "tâches", pour détruire tous les changements de cette organisation, vous devrez taper:
Rails destroy scaffold Tasks
J'espère que ça vous aide.
Échafaudage retiré du modèle sélectionné
bin/Rails d scaffold <AccessControl> //model name
pour inverser la génération de Rails, utilisez Rails destroy
Rails destroy Model
https://guides.rubyonrails.org/command_line.html#Rails-destroy
Nous utilisons générer en tant que Rails generate app
. Ainsi, la régénération d’une instruction generate
peut être inversée à l’aide de destroy
instruction . Il suffit de remplacer generate
par destroy
. Rails generate app
peut être écrit en tant que Rails destroy app'
Rails génère ____as
Rails détruit ____ `
Avant de revenir en arrière sur le Rails generate
, assurez-vous d’abord de annuler la migration.
Cas 1: si vous voulez rétablir l’échafaudage, exécutez cette commande -
Rails destroy scaffold MODEL_NAME
Cas 2: si vous souhaitez rétablir le modèle, exécutez cette commande -
Rails destroy model MODEL_NAME
Cas 3: si vous voulez restaurer le contrôleur, exécutez cette commande -
Rails destroy controller CONTROLLER_NAME
Remarque: vous pouvez également utiliser le raccourci d
au lieu de destroy