Je veux supprimer tous les fichiers qu'il a créés et annuler toutes les modifications apportées, mais pas nécessairement à la base de données, mais plus aux fichiers de configuration.
Je voudrais supprimer automatiquement tous les mappages de ressources pour le modèle / contrôleur supprimé dans le fichier routes.rb et partout ailleurs où des modifications auraient pu être apportées?
ruby
ruby-on-rails-3
rails-generate
marcamillion
la source
la source
rails destroy scaffold lalalal
et ça a marché.rails generate <gemname>:install
-f
drapeau pour le forcer à recréer / rééditer les fichiers… Ensuite, vous pouvez voir quels fichiers il a créés / modifiés et continuer à les supprimer manuellement.Il vaut la peine de mentionner le
-p
drapeau ici ("p" pour faire semblant ).Si vous ajoutez ceci à la commande, il effectuera simplement un "test" et vous montrera quels fichiers seront supprimés sans réellement les supprimer.
Si vous en êtes satisfait, réexécutez la commande sans l'
-p
indicateur.la source
rails destroy controller Controller_name
renvoyait un tas d'erreurs. Pour pouvoir détruire le contrôleur, j'ai dû supprimer les routes associées dans routes.rb. PS J'utilise des rails 3.1la source
Il s'agit d'un prototype pour générer ou détruire un contrôleur ou un modèle dans Rails:
Par exemple, si vous devez générer un contrôleur utilisateur:
ou
Si vous souhaitez détruire le contrôleur utilisateur ou revenir à l'action ci-dessus, utilisez:
ou:
la source
Vous pouvez utiliser
rails d model/controller/migration ...
pour détruire ou supprimer les modifications générées à l'aide de larails generate
commande.Par exemple:
crée un modèle nommé
home
avec attributname
. Pour supprimer les fichiers et le code générés à partir de cette commande, nous pouvons utiliserla source
Vous pouvez détruire tout ce qui a été créé de la même manière, sauf un petit changement. Pour le contrôleur,
Pour le modèle
vous venez de mettre
d(destroy)
au lieu deg(generate)
dans votre migration.la source
Si vous préférez supprimer le contrôleur manuellement:
Pour contrôleur
welcome
la source
Vous pouvez revenir sur votre
sortie en utilisant:
la source
Supposons que j'ai créé un contrôleur nommé "sample" comme:
Si je dois détruire ce contrôleur, tout ce que je dois faire est échange
generate
avecdestroy
, comme dansSi vous voulez inverser la génération, tout ce que vous avez à faire est échanger
generate
avecdestroy
.la source
Si vous utilisez Rails, utilisez
rails d controller Users
.Et, si vous utilisez Zeus, utilisez
zeus d controller Users
.D'un autre côté, si vous utilisez git ou SVN, annulez vos modifications avec le numéro de commit. C'est beaucoup plus rapide.
la source
Vous pouvez annuler un
rails generate
des manières suivantes:rails destroy MODEL
rails destroy controller_name
la source
Pour inverser cela, nous le détruisons. Ouvrez l'application Terminal et accédez au répertoire du projet, puis saisissez ceci:
Où
CamelCase
est le nom d'un modèle ou d'un contrôleur. Il supprimera le modèle, la migration et certains des fichiers de test associés. (Vous pouvez voir le résultat dans la fenêtre Terminal après avoir exécuté la commande.)la source
Nous utilisons générer comme
rails generate app
. Ainsi, la régénération de toutegenerate
instruction peut être inversée à l'aide de l'destroy
instruction. Remplacez simplementgenerate
pardestroy
ierails generate app
peut être écrit car lesrails destroy app'
rails génèrent ____as
rails détruisent ____ `la source
Échafaudage supprimé pour le modèle sélectionné:
la source
Avant de rétablir le
rails generate
, assurez-vous d'abord de restaurer la migration .Cas 1: si vous souhaitez rétablir l'échafaudage, exécutez cette commande:
Cas 2: si vous souhaitez rétablir le modèle, exécutez cette commande:
Cas 3: si vous souhaitez rétablir le contrôleur, exécutez cette commande:
Remarque: vous pouvez également utiliser un raccourci
d
au lieu dedestroy
.la source
Pour inverser
rails generate
, utilisezrails destroy
:Voir "
rails destroy
" pour plus d'informations.la source
Toutes les versions de rails ont un "destroy", donc-, si vous créez (par exemple) un échafaudage nommé "tâches" à l'aide d'un générateur, pour détruire toutes les modifications de cette étape de génération, vous devrez taper:
J'espère que cela vous aide.
la source