tutorial rails new descargar create and ruby ruby-on-rails-3 rails-generate

ruby - new - ¿Cómo revertir un ''rails genera''?



ruby on rails tutorial (17)

¿Está utilizando el control de versiones (subversion, git, lo que sea)? Sólo revertir. ¡¡¿Si no, porque no?!!

¿Es decir, eliminar todos los archivos que creó y deshacer los cambios realizados? No necesariamente a la base de datos, pero más a los archivos de configuración.

Por ejemplo, ¿eliminar automáticamente todas las asignaciones de recursos para el modelo / controlador eliminado en el archivo route.rb y en cualquier otro lugar donde se hayan realizado cambios?

Gracias.


Antes de revertir la rails generate , asegúrese de revertir la migración primero.

Caso 1: si desea revertir el andamio, ejecute este comando -

rails destroy scaffold MODEL_NAME

Caso 2: si desea revertir el modelo, ejecute este comando -

rails destroy model MODEL_NAME

Caso 3: si desea revertir el controlador, ejecute este comando -

rails destroy controller CONTROLLER_NAME

Nota: también puedes usar el atajo d lugar de destroy


Este es un prototipo para generar o destruir un controlador o modelo en rieles.

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

por ejemplo, si necesita generar User Controller

rails generate controller User

o

rails g controller User

Si desea destruir el controlador de usuario o volver a la acción anterior, entonces

rails destroy controller User

o

rails d controller User


Para eliminar el controlador manualmente, en caso de que el comando rails d controller no funcione:

Para el controlador de 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


Para revertir eso, simplemente lo destruimos. Abra la aplicación Terminal y vaya al directorio del proyecto. Entonces, escriba esto:

rails destroy model CamelCase rails destroy controller CamelCase

Donde CamelCase es el nombre de cualquier modelo o controlador. Se eliminará el modelo, la migración y algunos de los archivos de prueba relacionados. (Puede ver el resultado en la Terminal después de ejecutar el comando).


Podría usar rails d model/controller/migration ... para destruir o eliminar los cambios generados usando el comando de generación de rieles.

Ejemplo: rails g model Home name:string crea un modelo denominado home con el name atributo. Para eliminar los archivos y el código generado a partir de ese comando, podemos usar los rails d model Home comando rails d model Home .


Puedes deshacer un riel generado de las siguientes maneras:

  • Para Modelo: rails destroy MODEL
  • Para el controlador: rails destroy controller_name

Si usas rieles, usa rails d controller Users

y si usa zeus, use zeus d controller Users . Por otro lado, si está utilizando git o SVN, revertir los cambios con el número de confirmación. Esto es mucho más rápido.


Supongamos que he creado un controlador llamado sample como

rails generate controller sample

Si tengo que destruir este Controlador, todo lo que tengo que hacer es intercambiar el generar con destruir , como en

rails destroy controller sample.

Si desea revertir la generación, todo lo que tiene que hacer es intercambiar el '' generar '' por '' destruir ''


Todas las generaciones de rieles tienen un destructor de ellos, por lo tanto, si creas mediante un generador (por ejemplo) un andamio llamado "tareas", para destruir todos los cambios de esa media deberás escribir:

rails destroy scaffold Tasks

Espero que te ayude.


Usamos generar como rails generate app . Por lo tanto, la regeneración de cualquier sentencia de generate se puede revertir utilizando la sentencia de destroy . Simplemente reemplace generate con destroy es decir, los rails generate app pueden escribirse como los rails destroy app'' rieles generan ____ as rieles destruyen ____ `


Vale la pena mencionar la bandera -p aquí (p para simular).

Si agrega esto al comando, simplemente realizará una ejecución de "prueba" y le mostrará qué archivos se eliminarán sin eliminarlos realmente.

$ 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 está contento con eso, ejecute el comando nuevamente sin el indicador -p.


puede revertir los rails g/generate controller/model/migration xxx salida rails g/generate controller/model/migration xxx usando:

rails d/destroy controller/model/migration xxx



rails destroy controller Controller_name estaba devolviendo un montón de errores. Para poder destruir el controlador tuve que eliminar las rutas relacionadas en route.rb. PS estoy usando rieles 3.1


Se eliminaron los andamios para el modelo seleccionado.

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


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

Rails 3.2 agrega un nuevo acceso directo de d al comando, por lo que ahora puede escribir:

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