我需要创建一个名称和ID如此的选择状态,但不使用其中一个字段的表单构建器。
<select name="link_list[links][][link_to_path]" id="link_list_links__link_to_path">
所有其他字段都是这样创建的
f.collection_select "link_to_path", LinkList.all, :url, :name
但我需要手动创建id和名称,如下所示:
collection_select "link_list[links][]", "link_to_path",LinkList.all, :url, :name
此刻不起作用。
有人对此有答案吗?
非常感谢 里克
答案 0 :(得分:0)
您想使用options_for_select
:
http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-
options_for_select(container, selected = nil)
例如:
options_for_select([["Dollar", "$"], ["Kroner", "DKK"]])
生成以下html:
<option value="$">Dollar</option>\n<option value="DKK">Kroner</option>
因此,在您的情况下,您需要一系列带有名称和网址的链接,如:
links = [['Google', 'www.google.com'], 'Yahoo', 'www.yahoo.com']
然后您可以使用select_tag
<%= select_tag :link, options_for_select(links)%>
然后,如果你想拥有一个默认链接,你只需要像这样注入数组:
links.insert(0, ["Default", "www.twitter.com"])