agrega_paginas_para_crear_e_inspeccionar_post_individuales.step

requirements do
message <<-MARKDOWN
* El usuario deberá ser capaz de crear post con un título, autor, fecha de publicación, y contendio. El autor deberá ser el usuario actual.
* El post completo deberá aparecer en su propia página.
* Si el usuario no ingresa todos los campos requeridos, deberá ver algún mensaje de error, pero sin perder su trabajo.
MARKDOWN
  table do
    tr do
      th do
        h2 'Crear Vista', class: 'centered'
      end
      th do
        h2 'Mostrar Vista', class: 'centered'
      end
    end
    tr do
      td do
        img class: 'noborder', src: 'img/create_post.png'
      end
      td do
        img class: 'noborder', src: 'img/show_post.png'
      end
    end
  end
end

discussion do
message <<-MARKDOWN
* ¿Cómo crearías un recurso? ¿Qué parámetros necesitarás pasar?
* Luego: ¿Qué es lo que Rails hace cuando utilizas el generador de recursos? Encuentra todos los archivos nuevos. Tal vez quieras enlistarlos en un pizarrón.
* ¿Cómo asociarías un usuario con un post?
  * ¿Qué es lo que tienes que poner en la migración para crear un post?
  * ¿Cómo se asocia esto con el modelo de User y Post?
  * ¿Cómo asociarías el usuario actual con un post cuando tu lo haz creado?
  * ¿Cuál es la diferencia entre los métodos `new` y `create` en el controlador de Post y cómo estos se relacionan al crear uno nuevo?
  MARKDOWN
  end

tools_and_references do
message <<-MARKDOWN
* RailsGuides - Active Record Associations: <http://guides.rubyonrails.org/association_basics.html#the-belongs_to-association>.
* RailsGuides - Form Helpers, section 2.2: <http://guides.rubyonrails.org/form_helpers.html#binding-a-form-to-an-object>.
* RailsGuides - Routes - CRUD, Verbs, and Actions: <http://guides.rubyonrails.org/routing.html#crud-verbs-and-actions>.
* RailsGuides - Active Record Validations and Callbacks: <http://guides.rubyonrails.org/active_record_validations_callbacks.html>.
MARKDOWN
end

hints do
message <<-MARKDOWN
* Rails tiene varias formas de asociar un modelo con otro. Revisa los links de RailsGuides para que puedas darte una idea sobre cómo hacer a un usuario el dueño de un post.
* ¡No agregues el código del formulario manualmente! Rails ya lo hace. Revisa los links de RailsGuides mencionados anteriormente.
* Rails tiene forma de detectar cuando algo ha sido almacenado en la base de datos. Probablemente esto sea útil para mostrar la fecha / hora en la que fue creado un post.
* Por ahora, vamos a utilizar la dirección de correo del usuario cuando se muestre el autor del post. ¡Puedes crear nombres o identificaciones después! (También, aunque vas a obtener el email del usuario actual desde el modelo User, necesitarás un parámetro de usuario para el recurso Post.)
* Necesitarás un método `create` para almacenar los datos de tu post - dirígete a la sección Getting Started para obtener la información necesaria y ver un ejemplo de cómo crear un método: <http://guides.rubyonrails.org/getting_started.html#creating-new-posts>.
MARKDOWN
end

next_step "haz_la_pagina_index_de_posts"