web-dev-qa-db-fra.com

Annuler l'échafaudage dans Rails

Est-il possible d’annuler les effets d’une commande d’échafaudage dans Rails?

483
Daniel

First, si vous avez déjà exécuté les migrations générées par la commande scaffold, vous devez d'abord effectuer une restauration.

rake db:rollback

Vous pouvez créer un échafaudage en utilisant:

Rails generate scaffold MyFoo 

(ou similaire), et vous pouvez détruire/annuler en utilisant

Rails destroy scaffold MyFoo

Cela supprimera tous les fichiers créés par generate, mais pas les modifications supplémentaires que vous auriez apportées manuellement.

761
Rishav Rastogi

Rishav Rastogi a raison, et avec Rails 3.0 ou supérieur, son:

 Les rails génèrent un échafaudage ... 
 Les rails détruisent un échafaudage ... 
167
Misha Rabinovich

Vous pouvez annuler ce que vous avez fait avec

Rails generate xxx

Par

Rails destroy xxx

Par exemple, cela applique les générateurs à la migration, l’échafaudage, le modèle, etc.

40
thekindofme

Si vous voulez seulement voir les fichiers créés par un générateur, vous pouvez passer l’option --pretend ou -p du générateur.

13
Sudhanshu Arya

Le meilleur moyen est:

destroy rake db:  rake db:rollback

Pour l'échafaudage:

Rails destroy scaffold Name_of_script
10
user917158

pour la première fois, vous pouvez vérifier votre migration de base de données si vous avez généré un échafaudage. vous devez les détruire pour nettoyer votre base de données

rake db:rollback

ensuite

Rails d scaffold
8
dedennufan
Rails d scaffold <scaffoldname>

Assurez-vous également d'annuler la migration que vous avez effectuée, soit par restauration, soit vers une version particulière.

8
RageCore

Les rails détruisent le nom

rake db:rollback
4
starbuck

Pour générer un échafaudage:

Rails generate scaffold xyz

Pour retourner un échafaudage:

Rails destroy scaffold xyz
4
uma

Pour générer un échafaudage dans Rails -

Rails generate scaffold MODEL_GOES_HERE

Pour annuler un échafaudage dans Rails -

Rails destroy scaffold MODEL_GOES_HERE
3
Amit Suroliya

Recommander rollback Tout d'abord, tapez votre terminal.

rake db:rollback

Ajouter un échafaudage de destruction (le "d" signifie "détruire")

Rails d scaffold name_of_scaffold

Profitez de votre code.

2

vous devez aussi annuler les migrations après avoir détruit l'échafaud

Rails destroy scaffold 'scaffoldname'
rake db:rollback
2
Bhargav Mehta

Alors, procédez comme suit pour annuler l’échafaudage dans Rails 4. Exécutez la commande comme ci-dessous:

  1. Rails d scaffold FooBar
  2. rake db:rollback si vous_a_troit _rake db:migrate après avoir créé l'échafaud ci-dessus?

C'est ça!

À votre santé!

2

Rails [option] échafaudage nom_échafaudage

Option

g    generate
d    destroy

Si tu fais

Rails g  scaffold myFoo

Puis retournez en utilisant

Rails d scaffold MyFoo
1
krishnar

Oui, la scaffold elle-même et toutes les choses qui l'amalgament.

La commande destroy est l'opposé de generate et en annule une. Il suffit de lui donner le nom de la même façon que pour generate et il sera supprimé de votre projet:

Rails generate scaffold posts title:string content:text
Rails destroy scaffold posts title:string content:text
1
JackHasaKeyboard

vous devez d'abord restaurer les migrations en faisant rake db: annuler le cas échéant et ensuite détruire l'échafaud par

Rails d scaffold foo
1
Manish

Vous devez d’abord faire le rake db: rollback pour détruire la table
si vous avez déjà exécuté rake db: migrate et vous pouvez alors exécuter

Modèle d'échafaudage Rails

1
Shoaib Malik

fournisseur une autre solution basée sur git

démarrer un nouveau projet

Rails new project_name
cd project_name

initialiser git

git init
git commit -m "initial commit"

créer un échafaud

Rails g scaffold MyScaffold
rake db:migrate

faire reculer l'échafaud

rake db:rollback
git reset --hard
git clean -f -d
1
Ray Lee

utilisez ceci

Rails d scaffold MODEL_NAME

rake db:rollback
1
vipin

Pour générer l'échafaudage:

Rails generate scaffold abc

Pour retourner cet échafaudage:

Rails destroy scaffold abc

Si vous avez exécuté la migration, il vous suffit de revenir en arrière

rake db:rollback STEP=1
1
nitanshu verma
Rails g scaffold MyFoo 

pour générer et

Rails d scaffold MyFoo

pour enlever

0
Ayaz Ahmad Tarar

Chaque fois que vous exécutez Rails g, vous pouvez l'inverser en exécutant Rails d (détruire) pour supprimer ce que vous avez généré. Si vous avez déjà exécuté rake db:migrate, vous devrez exécuter rake db:rollback avant de détruire :)

0
Maddie

Cas 1: Si vous exécutez uniquement cette commande pour générer un échafaudage -

Rails generate scaffold MODEL_NAME FIELD_NAME:DATATYPE

Ex - Rails generate scaffold User name:string address:text

mais jusqu'à présent, vous n'avez exécuté aucune commande de migration comme

rake db:migrate

alors vous devriez avoir besoin d'exécuter seulement cette commande comme -

Rails destroy scaffold User name:string address:text

Cas 2: Si vous avez déjà exécuté (échafaud et migration) avec les commandes ci-dessous, comme -

Rails generate scaffold User name:string address:text

rake db:migrate 

Ensuite, vous devriez avoir besoin d'exécuter la première commande d'annulation de migration puis de détruire l'échafaud comme ci-dessous -

rake db:rollback

Rails destroy scaffold User name:string address:text

Ainsi, de cette manière, nous pouvons annuler un échafaudage. Nous pouvons aussi utiliser d pour détruire et g pour générer comme raccourci.

0
Manoj Kumar

Lorsque nous générons un échafaudage, les fichiers suivants seront créés:

Commande: Rails generate scaffold Game

Fichiers créés:

>       invoke  active_record
>       create    db/migrate/20160905064128_create_games.rb
>       create    app/models/game.rb
>       invoke    test_unit
>       create      test/models/game_test.rb
>       create      test/fixtures/games.yml
>       invoke  resource_route
>        route    resources :games
>       invoke  inherited_resources_controller
>       create    app/controllers/games_controller.rb
>       invoke    erb
>       create      app/views/games
>       create      app/views/games/index.html.erb
>       create      app/views/games/edit.html.erb
>       create      app/views/games/show.html.erb
>       create      app/views/games/new.html.erb
>       create      app/views/games/_form.html.erb
>       invoke    test_unit
>       create      test/controllers/games_controller_test.rb
>       invoke    helper
>       create      app/helpers/games_helper.rb
>       invoke      test_unit
>       create        test/helpers/games_helper_test.rb
>       invoke    jbuilder
>       create      app/views/games/index.json.jbuilder
>       create      app/views/games/show.json.jbuilder
>       invoke  assets
>       invoke    coffee
>       create      app/assets/javascripts/games.js.coffee
>       invoke    scss
>       create      app/assets/stylesheets/games.css.scss
>       invoke  scss
>       create    app/assets/stylesheets/scaffolds.css.scss

Si nous avons exécuté la migration après cela, nous devons d'abord annuler la migration, car la suppression de l'échafaudage supprimera également le fichier de migration et nous ne pourrons pas annuler cette migration.

Dans le cas où nous avons exécuté la migration:

rake db:rollback

et après cela, nous pouvons retirer l’échafaudage en toute sécurité avec cette commande.

Rails d scaffold Game

Cette commande supprimera tous les fichiers créés par l'échafaud dans votre projet.

0
BIlal Khan