Przesyłanie wielu formularzy w Railsach

Muszę przesłać wiele formularzy, skorzystałem z porad tego posta:Jak przesłać wiele duplikatów formularzy z tej samej strony w Railsach - najlepiej za pomocą jednego przycisku

Uwaga: Nadal jestem całkiem nowy w Railsach / programowaniu i niektóre z moich sposobów robienia rzeczy mogą nie być idealne.

Oto mój pogląd:

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

Formularz (zwróć uwagę, że jest więcej pól):

- 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]"

Kontroler:

  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

Przesyłając, wydaje się, że do pewnego stopnia postępuje słusznie, ponieważ jeden wysyła wiadomość e-mail na x unikalnych adresów e-mail, co sprawia, że ​​myślę, że @registration zawiera poprawne szczegóły w każdej pętli - nie zapisuje się w bazie danych jednak. Widzę, że wszystkie parametry znajdują się w pliku dziennika, z wyjątkiem tego, że: tytuł wydaje się robić coś złego (patrz poniżej: ale skupię się na tym później), główna rzecz, którą chcę teraz zrobić, jest uruchomiona każdą tablicę i zapisz ją jako nowy wpis.

Dziennik:

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

Mam nadzieję, że informacje, które podałem, są wystarczające, każda rada zostanie doceniona.

Dzięki!

EDYTOWAĆ:

@blue

To załatwiło sprawę! To był błąd sprawdzania poprawności i zapisuje wszystko w różnych wierszach. Dziękuję Ci bardzo!

Jeszcze jedno, jeśli mogę, jakikolwiek pomysł, w jaki sposób część formularza powinna być sformatowana, aby powrócić paramater:

"title"=>"Mrs",

w przeciwieństwie do:

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

Dzięki jeszcze raz!

questionAnswers(1)

yourAnswerToTheQuestion