2011-03-21 55 views
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 

眼前這個不工作。

任何人都有這個問題的答案?

非常感謝 裏克

回答

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> 

所以你的情況,你需要與他們的名字和URL鏈接的數組,如:

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