My dropdown will contain date range from 1980 to current year where as
the db will only contain the saved years say 2000.
Assuming that you have
form_for @some_object do |f|
where @some_object is the object being edited and that @some_object.year_made contains the previous selection then the
dropdown should default to the current selection, I think.
<%= f.select(:year_made, ((1980…Time.now.year).collect {|p| [ p, p
]}).reverse, {:prompt=>“Select a Year”}) %>
it does not seem to work and that makes me wonder what is wrong with
this code?
What does the form_for line look like?
What does generated html of the select look like? (View, Page Source
or similar in your browser)
Have you checked that year_made contains the previous value. Possibly
put <%= @object.year_made %> in the form to check.
Have you checked that year_made contains the previous value. Possibly
put <%= @object.year_made %> in the form to check.
Yes it does.
Odd, it all looks ok to me. Is year_made an integer or a string? I
wonder whether it is expecting an integer as all my uses have always
been with an id value.
Does anyone else have a better idea on how to do this?
You probably only need the to_s on one of them not both.
Presumably it would also work if, instead, the type of year_made were
changed to integer. Arguably this might be a more aesthetically
pleasing solution.
Well it turns out that it was a string vs integer issue. I have my
fields in db as string and the code was generating a integer so that
caused issues at edit time.
I made the following change and now it seems to work.
Have you checked that year_made contains the previous value. Possibly
put <%= @object.year_made %> in the form to check.
Yes it does.
Odd, it all looks ok to me. Is year_made an integer or a string? I
wonder whether it is expecting an integer as all my uses have always
been with an id value.
I also want this to contain a value, “Local” as the first one in the
list. What is the best way to do this?
Quee Mm wrote:
I agree with you on that. And will think about converting to integer, I
do have two more drop downs with similar values but they do have one or
more string values so they do require to be strings but the year_made
does not.
I agree with you on that. And will think about converting to integer, I
do have two more drop downs with similar values but they do have one or
more string values so they do require to be strings but the year_made
does not.