rails options_for_select更新表单

问题描述 投票:0回答:2

这是我的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',我希望默认在选择菜单中显示为'ancienfrançais'。我怎么做?

ruby-on-rails forms erb
2个回答
0
投票

在编辑表单上,它将自动选择相应的选项作为默认选项保存在此对象的数据库中 -

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

但是,如果您希望默认选择为["ancien français","froLit"]然后尝试这一个 -

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

0
投票

也许只是:

= f.select :langue_main, options_for_select(main_language, params.dig(:biblio, :langue_main))
© www.soinside.com 2019 - 2024. All rights reserved.