Rails Erb Form Helper Options_For_Select: Selected

I have an edit form in erb.

<%= form_for @animal do |f| %>

Within the code I have a select with options:

<%= f.select :gender, options_for_select([['Mare'], ['Stallion'], ['Gelding']], :selected => :gender) %>

However, the select is not showing the correct selected value. What could I be doing wrong? I can get it to work if I hardcode it but of course that is not a viable option.

1

2 Answers

In your code, your options_for_select() call sets the selected value to "gender" and does not attempt to use the value from your form object.

Please see the docs for options_for_select() for usage examples.

options_for_select(['Mare', 'Stallion', 'Gelding'], f.object.gender)
options_for_select(['Mare', 'Stallion', 'Gelding'], :selected => f.object.gender)

Alternatively, you can do this, which will already use the gender() value for your form object:

<%= f.select :gender, ['Mare', 'Stallion', 'Gelding'] %>
0

By the way, if you are using :include_blank => true, this will set your current selection to blank even though the form "knows" what is selected.

1

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Alexander Ross

Alexander Ross

Gaming, Esports & Interactive Media Writer

Alexander Ross has covered the video game industry for a decade, writing deep dives on game design, esports tournaments, VR developments, and gaming culture.

Share this article
Twitter Facebook Pinterest