Implement collection_select based upon an array.

Hello,

I have created an array of time slots as strings and am trying to
display them in a form to be selected upon creation.

This is my Appointments controller file.

  helper_method :timeslots

  def timeslots

  @timeslots = ['8:30 AM','9:00 AM','9:30 AM','10:00 AM','10:30
AM','11:00 AM','11:30 AM', '12:00 PM', '12:30 PM', '1:00 PM','1:30 PM',
'2:00 PM', '2:30 PM', '3:00 PM', '3:30 PM','4:00 PM']

  end

This is my Appointments form.html.erb file

<div class="field">
    <%= f.label :appointment_time %><br>
    <%= select "obj", "test", timeslots.each_with_index.map { |name,
index>} %>
</div>

On the form's page, I just see a blank box with no values. Every time I
add a value, the box gets bigger, but there are no values displayed in
the rows of the select box.

Each / Each with index returns the same array . You need to use map.

http://stackoverflow.com/questions/11596879/why-does-arrayeach-return-an-array-with-the-same-elements

Can you try this

<%= select “obj”, “test”, @timeslots.map.with_index{ |name, index| [name, index] } %>

Vivek Sampara wrote in post #1163711:

<%= select "obj", "test", @timeslots.map.with_index{ |name, index|
[name,
index] } %>

Thanks, it worked