rails form builder快速提问

时间:2011-03-21 13:13:12

标签: ruby-on-rails ruby formbuilder

我需要创建一个名称和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

此刻不起作用。

有人对此有答案吗?

非常感谢 里克

1 个答案:

答案 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"])