Envío de múltiples formularios en Rails

Tengo que enviar múltiples formularios, seguí el consejo de este post:Cómo enviar formularios múltiples y duplicados desde la misma página en Rails, preferiblemente con un botón

Tenga en cuenta que todavía soy bastante nuevo en Rails / programación y algunas de mis formas de hacer las cosas podrían no ser las ideales.

Aquí está mi opinión:

 = form_tag ([@event, @registration]) do
    - x.times do
      = render 'multi_form'
    = submit_tag "Submit registrations"

El formulario (note que hay más campos):

- hidden_field_tag :event_id, :value => @event.id

.control-group
  = label_tag :title
  .controls
    = select("registrations[][title]", :registration, Registration::TITLE)

.control-group
  = label_tag :first_name
  .controls
    = text_field_tag "registrations[][first_name]"

.control-group
  = label_tag :last_name
  .controls
    = text_field_tag "registrations[][last_name]"

.control-group
  = label_tag :email
  .controls
    = text_field_tag "registrations[][email]"

El controlador:

  def create
    array_number = 0
    x.times do
      @registration = Registration.new(params[:registrations][array_number])
      @registration.save
      UserMailer.registration_user_notify(@event, @registration).deliver
      array_number = array_number + 1
    end
    respond_to do |format|
      format.html {redirect_to thank_you_event_registrations_path(@event)}
    end
  end

Cuando se envía, parece, en cierta medida, estar haciendo lo correcto, por ejemplo, se envía un correo electrónico a x direcciones de correo electrónico únicas, lo que me hace pensar que @registration contiene los detalles correctos en cada bucle; sin embargo. Puedo ver que todos los parámetros están allí en el archivo de registro, excepto que: el título parece estar haciendo algo malo (ver a continuación: pero me enfocaré en eso más adelante), lo principal que quiero que haga ahora es ejecutarlo. Cada matriz y guardarlo como una nueva entrada.

El registro:

Parameters: {"utf8"=>"â", "authenticity_token"=>"BQXm5fngW27z/3Wxy9qEzu6D8/g9YQIfBL+mFKVplgE=", "event_id"=>"7", "registrations"=>[{"title"=>{"registration"=>"Mrs"}, "first_name"=>"Person", "last_name"=>"One", "email"=>"[email protected]"...

Espero que la información que proporcioné sea suficiente, cualquier consejo será apreciado.

¡Gracias!

EDITAR:

@iblue

¡Hizo el truco! Fue un error de validación y está guardando todo en diferentes filas. ¡Muchas gracias!

Una cosa más si puedo, alguna idea de cómo se debe formatear la parte del formulario de título para devolver el parámetro:

"title"=>"Mrs",

Opuesto a:

"registrations"=>[{"title"=>{"registration"=>"Mrs"},

¡Gracias de nuevo!

Respuestas a la pregunta(1)

Su respuesta a la pregunta