8

私はRailsとStackOverflowの初心者なので、気楽にやってください。私は開発ボックスでsqlite3とともにRails2.3.8を使用しています。

次を使用して、フォームに選択プルダウンを作成しました。

<%= select( "communication", "gig_id", { "Add New Gig" => "new"}, {:prompt => "-- Select Gig --"}, :onchange => "toggle(this, 'gigInfo')") %>

ただし、フォーム内の他の何かが検証に失敗し、「新しい」ページが再レンダリングされると、プロンプトが消え、残っている唯一のオプションは「新しいギグを追加」オプションです。これは私のすべてのフォームに当てはまり、その理由については何の答えも見つからないようです。

私のコントローラーは基本的な足場を使用しているので、ちょっと途方に暮れています。どんな助けでも大歓迎です。

4

1 に答える 1

14

あなたの観察は正確:include_blankです:prompt

プロンプトに使用していた文字列を設定:include_blankすることで、必要な結果を得ることができます (ブール値である必要はありません)。

:promptは、指定されたフィールドに Rails が提供する値がない場合にのみ表示されるようです。newアプリがビューを再レンダリングするとき、Communication モデルのインスタンスを作成したため、そのフィールドを提供する値があります(そのインスタンスを保存できませんでしたが、そのインスタンスにはgig_idフィールド セットがあるようです。)

于 2011-06-24T23:26:47.670 に答える