1. ホーム
  2. ruby-on-rails

[解決済み] rails erb フォームヘルパー options_for_select :selected

2022-02-11 01:10:14

質問

erbの編集フォームがあります。

<%= form_for @animal do |f| %>

このコードの中に、オプション付きのセレクトがあります。

<%= f.select :gender, options_for_select([['Mare'], ['Stallion'], ['Gelding']], :selected => :gender) %>

ただし、セレクトは 正しい選択値を表示しない . 何が間違っているのでしょうか? ハードコードすればうまくいくのですが、もちろんそれは実行可能なオプションではありません。

解決方法は?

あなたのコードで、あなたの options_for_select() の呼び出しは選択された値を "gender" に設定し、フォームオブジェクトの値を使用しようとはしません。

のドキュメントをご覧ください。 options_for_select() は使用例です。

options_for_select(['Mare', 'Stallion', 'Gelding'], f.object.gender)
options_for_select(['Mare', 'Stallion', 'Gelding'], :selected => f.object.gender)

または このようにすることができます。 を使用します。 gender() の値をフォームオブジェクトに設定します。

<%= f.select :gender, ['Mare', 'Stallion', 'Gelding'] %>