Saravanan
Saravanan

Reputation: 1889

Generate array of textbox in Ruby on Rails

I am using the below ruby code

<%= form_for :post, url:"/index" do |f|%>
    <%= f.text_field(:name) %>
<% end %>

This generates a form with textbox as below

<input type="text" name="post[name]" id="post_name">

Is there any way to generate fields with array format such as:

<input type="text" name="post[name][]" id="post_name_1">
<input type="text" name="post[name][]" id="post_name_2">
<input type="text" name="post[name][]" id="post_name_3">
<input type="text" name="post[name][]" id="post_name_4">
:
:
<input type="text" name="post[name][]" id="post_name_n">

Upvotes: 0

Views: 732

Answers (1)

techvineet
techvineet

Reputation: 5111

You can override the name like this

<%= f.text_field(:field_name, :name => "post[name][]") %>

and then do it like this:

<%(1..n).each do |i|%>
<%= f.text_field(:name, :name => "post[name][]", :id => "post_name_#{i}") %>
<%end%>

Upvotes: 3

Related Questions