I have a multistep form setup in my rails app.. In one of my steps the user can enter a friends name, birthday, gender, and the persons interests.

They can enter as many friends as they like (each friend have the same 4 attributes).. whats the best way to accomplish this?

Check this screenshot with a quick and dirty way to illustrate my question..

enter image description here

2 Answers 2


The logic of your screenshot is fine. The layout is awful though :). The Gender dropdown is an especially nice touch :).


download bmml source – Wireframes created with Balsamiq Mockups

Another way to do this is to always have a blank form ready. Then in case the user wants to add another entry he uses the form, and once he presses Save, a new blank form appears at the bottom. It doesn't fit the current UI very well because there's no Save or Done button except the one that proceeds to the next step.

You could do it in a table but the list means that the rows are going to be very big in any case, so you might as well go with forms.

  • +1 This looks good but I don't agree adding a datepicker to the date of birth is necessary.
    – Wander
    Jun 1, 2012 at 9:19
  • You're right, I'll update it. Didn't think it through. Jun 1, 2012 at 9:21

When you fill out insurance forms, they often start by asking "how many people do you want to add", which seems to work. You then display the form that many times, changing the heading each time. The downside is that it feels a little rigid.

Alternatively, have a tabbed interface, not unlike a browser, including as that last tab an "Add new" item. most people are sufficiently au fait with the tabbed browser interface to get this, I would think. This may depend on how you are able to redisplay the form ( I am not a rails person ).

Is there a reasonable limit to the number they are liable to include? Are they really going to include all 300 people on the facebook friends list? Or are they liable to add just one or two? This may impact the appropriate interface format.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.