Ejemplos de acciones nuevas, crea para has_many: a través de asociaciones (anidadas)

Encontré este código enhttp://guides.rubyonrails.org/association_basics.html#the-has_one-through-association:

class Document < ActiveRecord::Base
  has_many :sections
  has_many :paragraphs, :through => :sections
end

class Section < ActiveRecord::Base
  belongs_to :document
  has_many :paragraphs
end

class Paragraph < ActiveRecord::Base
  belongs_to :section
end

Esto es exactamente lo que estoy tratando de lograr, pero aún soy muy nuevo en Rails y me preguntaba si alguien podría mostrarme una muestra de los formularios y los controladores necesarios para poder crear registros para esta configuración.

Pude crear la primera parte (el documento tiene muchas secciones) pero estoy atascado en descubrir cómo implementar las secciones tiene muchos párrafos y cómo poder hacer referencia entre las tres. He buscado el ejemplo anterior en las posiciones alta y baja y REALMENTE apreciaría un código de muestra de las acciones nuevas, crear, actualizar y los formularios correspondientes.

Muchas gracias de antemano!

ACTUALIZADO: Realmente aprecio su ayuda con esto y gracias por la rápida respuesta. Tal vez necesito aclarar un poco.

Tengo mis 3 modelos (usuario, publicación, número) y están separados en cada una de sus propias vistas y controladores. El objetivo es tener un panel de control donde los usuarios registrados puedan hacer clic en los enlaces para:

a) Añadir / editar / eliminar publicaciones relacionadas con usuarios individuales

b) agregar / editar / eliminar temas relacionados con publicaciones individuales

Por lo tanto, tengo 3 formularios separados también (usuario, publicación y número).

En mis publicaciones_controller logré:

@publication = current_user.publications.build(params[:publication])

Que vincula usuarios y publicaciones entre sí y se llena con el campo id_usuario correcto en el modelo de publicaciones (que no figura en attr_accessible), por lo que funciona muy bien.

Ahora mi reto es agregar temas a las publicaciones y aquí es donde me quedo un poco corto. Tengo un menú en el que puedo agregar problemas, pero no quiero el campo publish_id en el formulario y tampoco lo tengo en attr_accessible en el modelo. Quiero crear un problema a través del usuario con la publicación seleccionada.

Lo siento si no puedo explicarlo bien, todo esto es todavía muy nuevo para mí, y posiblemente también porque tengo problemas para buscar la terminología correcta.

Respuestas a la pregunta(1)

Su respuesta a la pregunta