ruby-on-rails - example - rails scaffold references
Deshacer andamios en rieles (24)
carriles [opción] andamio andamio nombre
Opción
g generate
d destroy
Si lo haces
rails g scaffold myFoo
Luego revertirlo de nuevo usando
rails d scaffold MyFoo
¿Hay alguna forma de "deshacer" los efectos de un comando de andamio en Rails?
Cada vez que ejecute los rails g
, puede revertirlos ejecutando los rails d
(destruir) para eliminar lo que ha generado. Si ya has ejecutado rake db:migrate
, deberás ejecutar rake db:rollback
antes de destruir :)
Cuando generemos un andamio, se crearán los siguientes archivos:
Comando: rails generate scaffold Game
Archivos creados:
> 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 hemos ejecutado la migración después de esto, primero tenemos que revertir la migración, ya que la eliminación del andamio eliminará también el archivo de migración y no podremos revertir esa migración.
En caso de que hayamos ejecutado la migración:
rake db:rollback
y después de esto podemos quitar el andamio con seguridad por este comando.
rails d scaffold Game
Este comando eliminará todos los archivos creados por el andamio en su proyecto.
Entonces, debe seguir el proceso para deshacer los andamios en los rieles 4. Ejecute el comando como se muestra a continuación:
-
rails d scaffold FooBar
-
rake db:rollback
si you_had_run_rake db:migrate
después de crear el andamio anterior?
¡Eso es!
¡Aclamaciones!
La mejor manera es:
destroy rake db: rake db:rollback
Para andamio:
rails destroy scaffold Name_of_script
Para generar andamios:
rails generate scaffold xyz
Para revertir los andamios:
rails destroy scaffold xyz
Para generar el andamio:
rails generate scaffold abc
Para revertir este andamio:
rails destroy scaffold abc
Si ha ejecutado la migración para ello simplemente deshacer
rake db:rollback STEP=1
Para la generación de andamios en carriles.
rails generate scaffold MODEL_GOES_HERE
Para deshacer el andamio en los carriles.
rails destroy scaffold MODEL_GOES_HERE
Primero tendrás que hacer el rake db: rollback para destruir la tabla.
si ya ha ejecutado rake db: migrate y luego puede ejecutar
rieles modelo d andamio
Puedes deshacer lo que hiciste con
rails generate xxx
Por
rails destroy xxx
Por ejemplo, esto aplica generadores a la migración, andamios, modelos, etc.
Recomiende la reversión Primero, escriba su Terminal.
rake db:rollback
Añadir destruir andamio (la ''d'' significa ''destruir'')
rails d scaffold name_of_scaffold
Disfruta de tu código.
Rieles destruyen nombre
rake db:rollback
Rishav Rastogi tiene razón, y con rieles 3.0 o superiores es:
rails generate scaffold ...
rails destroy scaffold ...
Sí, el scaffold
sí y todas las cosas que lo amalgaman.
El comando de destroy
es el opuesto de generate
y deshará uno. Simplemente pase el nombre de la misma manera que lo hizo con generate
y se borrará de su proyecto:
rails generate scaffold posts title:string content:text
rails destroy scaffold posts title:string content:text
Si solo desea ver los archivos que creará un generador, puede pasar la opción --pretend o -p del generador.
También es necesario revertir las migraciones después de destruir el andamio
rails destroy scaffold ''scaffoldname''
rake db:rollback
por primera vez, puede verificar la migración de su base de datos si ha generado andamios. Debes destruirlos para limpiar tu base de datos
rake db:rollback
entonces
rails d scaffold
proveedor otra solución basada en git
iniciar un nuevo proyecto
rails new project_name
cd project_name
inicializar git
git init
git commit -m "initial commit"
crear un andamio
rails g scaffold MyScaffold
rake db:migrate
enrollar el andamio
rake db:rollback
git reset --hard
git clean -f -d
tienes que revertir las migraciones primero haciendo rake db: rollback si existe Y luego destruye el andamio con
rails d scaffold foo
utilizar esta
rails d scaffold MODEL_NAME
rake db:rollback
Caso 1: si ejecuta solo este comando para generar un andamio -
rails generate scaffold MODEL_NAME FIELD_NAME:DATATYPE
Ex - rails generate scaffold User name:string address:text
pero hasta ahora no ejecutó ningún comando para la migración como
rake db:migrate
entonces deberías ejecutar solo este comando como -
rails destroy scaffold User name:string address:text
Caso 2: si ya ejecuta (Scaffold y Migration) con los siguientes comandos como:
rails generate scaffold User name:string address:text
rake db:migrate
Entonces debe ejecutar el primer comando de migración de reversión y luego destruir el andamio como se muestra a continuación:
rake db:rollback
rails destroy scaffold User name:string address:text
Así, de esta manera, podemos deshacer los andamios. También podemos usar d para destruir y g para generar como atajo.
Primero , si ya ejecutó las migraciones generadas por el comando de scaffold
, primero debe realizar una reversión.
rake db:rollback
Puedes crear andamios usando:
rails generate scaffold MyFoo
(o similar), y puedes destruirlo / deshacerlo usando
rails destroy scaffold MyFoo
Eso eliminará todos los archivos creados por generate
, pero no los cambios adicionales que haya realizado manualmente.
rails d scaffold <scaffoldname>
Además, asegúrate de deshacer la migración que hiciste por restauración o a una versión en particular.
rails g scaffold MyFoo
para generar y
rails d scaffold MyFoo
para remover