1

このような名前と ID を持つ選択ステートメントを作成する必要がありますが、フィールドの 1 つにフォームビルダーを使用する必要はありません。

<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>

したがって、あなたの場合、次のような名前と 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"])
于 2011-03-21T13:23:27.743 に答える