Cómo revertir una 'generación de rieles'
Frecuentes
Visto 211,051 equipos
490
Quiero eliminar todos los archivos que creó y revertir los cambios realizados, pero no necesariamente en la base de datos, sino más bien en los archivos de configuración.
Me gustaría eliminar automáticamente todas las asignaciones de recursos para el modelo / controlador eliminado en el archivo routes.rb y en cualquier otro lugar donde se hayan realizado cambios.
17 Respuestas
956
rails destroy controller lalala
rails destroy model yadayada
rails destroy scaffold hohoho
Rails 3.2 agrega un nuevo d
acceso directo al comando, por lo que ahora puede escribir:
rails d controller lalala
rails d model yadayada
rails d scaffold hohoho
Respondido 07 Feb 12, 04:02
50
Vale la pena mencionar el -p
marcar aquí ("p" para pretender).
Si agrega esto al comando, simplemente hará una "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á satisfecho con él, ejecute el comando nuevamente sin el -p
bandera.
Respondido el 24 de enero de 20 a las 23:01
Creo que esta es la mejor respuesta: Emil Reña Enríquez
24
rails destroy controller Controller_name
devolvía un montón de errores. Para poder destruir el controlador, tuve que eliminar las rutas relacionadas en route.rb. PD: estoy usando rieles 3.1
Respondido 09 Feb 16, 05:02
No resuma sus acciones a menos que desee que esta respuesta sea la respuesta correcta seleccionada. - el hombre de hojalata
12
Este es un prototipo para generar o destruir un controlador o modelo en Rails:
rails generate/destroy controller/model [controller/model Name]
Por ejemplo, si necesita generar un controlador de usuario:
rails generate controller User
or
rails g controller User
Si desea destruir el controlador de usuario o volver a la acción anterior, utilice:
rails destroy controller User
o bien:
rails d controller User
Respondido el 24 de enero de 20 a las 23:01
5
Podrías usar rails d model/controller/migration ...
para destruir o eliminar los cambios generados mediante el uso de rails generate
mando.
Por ejemplo:
rails g model Home name:string
crea un modelo llamado home
con atributo name
. Para eliminar los archivos y el código generado a partir de ese comando, podemos usar
rails d model Home
Respondido el 24 de enero de 20 a las 23:01
4
Si usa Rails, use rails d controller Users
.
Y, si usa Zeus, use zeus d controller Users
.
Por otro lado, si está utilizando git o SVN, revierta sus cambios con el número de confirmación. Esto es mucho más rápido.
Respondido el 24 de enero de 20 a las 23:01
3
Puede destruir todas las cosas que se crearon de la misma manera, excepto los pequeños cambios. Para el controlador,
rails d controller_name (d stands for destroy)
Para el modelo
rails d model_name
tu acabas de poner d(destroy)
en lugar de g(generate)
en su migración.
Respondido el 04 de enero de 19 a las 06:01
3
Si prefiere eliminar el controlador manualmente:
Para controlador 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
contestado el 18 de mayo de 19 a las 19:05
3
Puedes revertir tu
rails g/generate controller/model/migration xxx
salida usando:
rails d/destroy controller/model/migration xxx
Respondido el 24 de enero de 20 a las 23:01
3
Supongamos que he creado un controlador llamado "muestra" como:
rails generate controller sample
Si tengo que destruir este controlador, todo lo que tengo que hacer es cambiar generate
a destroy
, como en
rails destroy controller sample.
Si quieres revertir la generación, todo lo que tienes que hacer es intercambiar generate
a destroy
.
Respondido el 24 de enero de 20 a las 23:01
3
Puedes deshacer un rails generate
de las siguientes maneras:
- Para el modelo:
rails destroy MODEL
- Para el controlador:
rails destroy controller_name
Respondido el 24 de enero de 20 a las 23:01
1
Para revertir eso, simplemente lo destruimos. Abra la aplicación Terminal y vaya al directorio del proyecto, luego escriba esto:
rails destroy model CamelCase
rails destroy controller CamelCase
Dónde CamelCase
es un nombre de cualquier modelo o controlador. Eliminará el modelo, la migración y algunos de los archivos de prueba relacionados. (Puede ver el resultado en la ventana Terminal después de ejecutar el comando).
Respondido el 25 de enero de 20 a las 00:01
0
Usamos generar como
rails generate app
. Así que regenerando cualquier generate
La declaración se puede revertir usando destroy
declaración. Solo reemplaza generate
a destroy
es decir, rails generate app
Se puede escribir como rails destroy app'
rieles generan ____as
los rieles destruyen ____ `
Respondido el 30 de enero de 18 a las 04:01
0
Andamio eliminado para el modelo seleccionado:
bin/rails d scaffold <AccessControl> //model name
Respondido el 25 de enero de 20 a las 00:01
0
Antes de revertir el rails generate
, por favor asegúrate de revertir la migración de antemano.
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 puede usar el atajo d
en lugar de destroy
.
Respondido el 25 de enero de 20 a las 00:01
0
Retroceder rails generate
, Utilizar rails destroy
:
rails destroy Model
Ver "rails destroy
" para más información.
Respondido el 25 de enero de 20 a las 00:01
0
Todas las versiones de rieles tienen un "destruir", así que, si creas un andamio (por ejemplo) llamado "tareas" usando un generador, para destruir todos los cambios de ese paso de generación tendrás que escribir:
rails destroy scaffold Tasks
Espero que te ayude.
Respondido el 30 de enero de 20 a las 12:01
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas ruby ruby-on-rails-3 rails-generate or haz tu propia pregunta.
Por cierto, ¿cómo uso este comando para eliminar un andamio? El modelo y el controlador funcionan bien ... pero ¿cómo puedo invertir completamente un andamio? - marcamillón
Ok, lo descubrí. Quizás estaba escribiendo mal algo. Yo solo corrí
rails destroy scaffold lalalal
y eso funcionó. - marcamillón@marcamillion Debe haber sido esa 'L' extra. - Varatis
¿Qué pasa con la eliminación de archivos asociados con una instalación de gemas como
rails generate <gemname>:install
- doug@doug, no creo que eso sea posible. Lo mejor que puede hacer es volver a ejecutar el generador con el
-f
flag para forzarlo a recrear / reeditar los archivos ... Luego puede ver qué archivos creó / cambió y proceder a eliminarlos manualmente. - fabio batista