Nidhin Bose J.
Nidhin Bose J.

Reputation: 1092

how can I convert an array of strings into a dropdown in rails?

I am a beginner in rails and I have this array of times:

["08:30", "09:00", "09:30", "10:00", "10:30", "11:00", "11:30", "12:00", "12:30", "13:00", "13:30", "14:00", "14:30", "15:00", "15:30", "16:00", "16:30", "17:00", "17:30", "18:00", "18:30", "19:00", "19:30", "20:00", "20:30", "21:00", "21:30"]

How can I convert it into a dropdown using options_from_collection_for_select. I tried using

<%= select_tag "start_time", options_from_collection_for_select(@start_time,:id, :name ) %>

but it returned "undefined method 'name' for "08:30":String".

Upvotes: 3

Views: 1913

Answers (2)

Mohanraj
Mohanraj

Reputation: 4220

You can use like following

 <%= f.select :time, options_for_select(MONTHS, @job.time) %>

MONTHS => your array

Upvotes: 0

Simone Carletti
Simone Carletti

Reputation: 176552

Assuming

@options = ["08:30", "09:00", "09:30", "10:00", "10:30", "11:00", "11:30", "12:00", "12:30", "13:00", "13:30", "14:00", "14:30", "15:00", "15:30", "16:00", "16:30", "17:00", "17:30", "18:00", "18:30", "19:00", "19:30", "20:00", "20:30", "21:00", "21:30"]

the code will be

<%= select_tag "start_time", options_for_select(@options) %>

See the options_for_select documentation.

Upvotes: 7

Related Questions