rails options_for_select обновить форму - PullRequest
0 голосов
/ 19 марта 2019

Это мой biblios_helper.rb:

def main_language
    [["français","frenchLit"],["latin","latinLit"],["ancien français","froLit"],["néerlandais","dutchLit"]]
end

форма для добавления новой библиографии содержит:

<%= f.select(:langue_main) do %>
    <% options_for_select(main_language, selected: params[:biblio] ? params[:biblio][:langue_main] :"") %>
<% end %>

Это приводит к этому HTML:

<select name="biblio[main_language]" id="biblio_main_language"><option value="frenchLit">français</option>
<option value="latinLit">latin</option>
<option value="froLit">ancien français</option>
<option value="dutchLit">néerlandais</option></select>

Это отлично работает. Тем не менее, у меня есть тот же код в форме, которая позволяет обновлять библиографию.

когда в базе данных используется язык «froLit», я хочу, чтобы по умолчанию в меню выбора отображалось «ancien français». Как мне это сделать?

Ответы [ 2 ]

0 голосов
/ 19 марта 2019

может быть просто:

= f.select :langue_main, options_for_select(main_language, params.dig(:biblio, :langue_main))
0 голосов
/ 19 марта 2019

В форме редактирования автоматически выбирается соответствующая опция по умолчанию, какие опции сохраняются в базе данных для этого объекта -

<%=f.select :langue_main, options_for_select(main_language) %>

Однако, если вы хотите, чтобы по умолчанию был выбран, как всегда, будет ["ancien français","froLit"] Тогда попробуйте это -

<%=f.select :langue_main, options_for_select(main_language, "froLit") %>
...