Otras Páginas

Expandir Todo

creando_una_migracion.step

goals {

  model_diagram header: 'Temas', fields: %w(id titulo descripcion)

  message "El suggestotron tiene una lista de temas por los que la gente puede votar. Nosotros guardaremos esos temas en una base de datos. En este paso harás lo siguiente:"

  goal "Crear una simple tabla en la base de datos para temas con un título y una descripción"

  goal "Generar automáticamente el correspondiente *Scaffold* en Rails (es decir, el *Modelo*, la *Vista*, y el *Controlador*)."

}

steps {


  step {
    console "rails generate scaffold tema titulo:string descripcion:text"
    message <<-MARKDOWN
* `generate scaffold` le dice a Rails que realice todo lo necesario para ponerse en marcha con temas.
* `tema` le dice a Rails el nombre del nuevo modelo.
* `titulo:string` dice que los temas tienen un título, el cual es una cadena.
* `descripcion:text` dice que los temas tienen una descripción, que es de tipo texto. (Nosotros también estamos confundidos con la diferencia entre estos dos tipos.)
    MARKDOWN
    message "Si quieres, toma un poco de tiempo para curiosear entre los archivos que se enlistan en este paso. Puedes aprender acerca de ellos en la página de [Arquitectura Rails](arquitectura_rails)."
    link "arquitectura_rails"
  }

  step {
    console "rake db:migrate"
    message "Esto le dice a Rails que actualice la base de datos y crea una tabla para nuestro nuevo modelo."
  }
}

explanation {

  h2 "Rake"
  message <<-MARKDOWN
`rake` _(Ruby Make)_ es una herramienta que permite ejecutar pequeños programas de Ruby (**tareas**) que usas frecuentemente en tu aplicación. Aquí, `rake db:migrate` es una tarea proporcionada por el framework Rails. Éste crea un grupo de nuevos archivos, incluyendo una *migración*, un *modelo*, una *vista*, y un *controlador*.
  
  MARKDOWN

  tip"Puedes ejecutar `rake -T` para ver la lista de todos los comandos `rake` a los que actualmente tu aplicación responde, junto con una descripción corta de cada tarea."
}

next_step "crud_con_scaffolding"