1

我需要像这样创建一个带有名称和 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

目前这不起作用。

有人对此有答案吗?

非常感谢瑞克

4

1 回答 1

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"])
于 2011-03-21T13:23:27.743 回答