How to create a form for multiple entries?

hi guys,

I have a fairly simple application for a party.

An “invite” object has many “guest” objects.

When I open up localhost:3000/invites/:id/guests/, I expect to see
the details of the “invite” along with all the guest objects
associated with the given invite.

I would like to have a form whereby there’s a checkbox on the left of
each guest entry which represents if the
guest has decided to attend the party (or not).

Nevertheless, I kept getting this error, " undefined method
`guest_path’ for #ActionView::Base:0x0000001138fe88" when i open the
url above.

I am not sure what I am doing wrong. Anyway, this is how my “~/
looks like. Yes, I am aware this is not following CRUD closely but
it’s a very simple app hence I have stripped a lot of things down.

---------- extract start -------------------------------

Listing guests

<% @guests.each do |guest| %>
<% form_for(guest) do |f| %>
<%= f.error_messages %>

    <%= f.label :name %><br />
    <%= f.text_field :name %>
    <%= f.label :contact_number %><br />
    <%= f.text_field :contact_number %>
    <%= f.label :status %><br />
    <%= f.check_box :status %>
    <%= f.label :email %><br />
    <%= f.text_field :email %>
    <%= f.submit 'Update' %>
<% end %>

<% end %>

---------- extract end -------------------------------

Any ideas on how to create the multielement form, guys?


I’m not a professional Rails developper but I believe I went through the
same kind of issue.
So take a look at this: and possibly
part-2 and 3 as well.


Le 6 avr. 2010 à 08:01, ct9a a écrit :

It seems that you created the guest and invite routes nested, right?

So, you have to write your form like this:

<% form_for([@invite, guest]) do |f| %>

This form above will use the url: /invites/:invite_id/guests/:id/edit

Some reference:


Nícolas Iensen

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs