Failed to populate a select box in rails for editing?

I have a form that has been split into partial, so I can use it in both a new view and an edit view. I have several selects that are populated from a static array generated in the model.

In the location model:

def open_close_times
@times = '','12:00 AM', '12:30 AM', '1:00 AM', '1:30 AM', '2:00 AM', '2:30 AM', '3:00 AM', '3:30 AM', 
         '4:00 AM', '4:30 AM', '5:00 AM', '5:30 AM', '6:00 AM', '6:30 AM', '7:00 AM', '7:30 AM', 
         '8:00 AM', '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', '4:30 PM', '5:00 PM', '5:30 PM', '6:00 PM', '6:30 PM', '7:00 PM', '7:30 PM',
         '8:00 PM', '8:30 PM', '9:00 PM', '9:30 PM', '10:00 PM', '10:30 PM', '11:00 PM', '11:30 PM'

      

end

So the selection in my form looks like this:

<label for="hours_sunday_open">Open:</label><%= f.select(:hours_sunday_open, @location.open_close_times) %>

      

and I call partial like this:

<%= render :partial => "form", :locals =>{ :f => f} %>

      

how can I choose to mark the "selected" information returned from the edit controller?

0


a source to share


1 answer


Rails will automatically mark as the "selected" element that matches the element returned from the controller.



So, if your edit controller returns "1:00" it will be selected if present in your picklist.

0


a source







All Articles