0

編集したい標準のRailsコントローラーがあり、現在のオプションリストを選択したままにしておくことができます。

だから私はユーザーが記入したフォームを持っています。
例:name(textfield)&state(option list)

ユーザーが編集ボタンをクリックすると、生成された編集ページに移動します。ユーザーは以前に名前と状態を選択しました。名前のテキストフィールドが再び入力されますが、状態はデフォルトでリストの最初のテキストフィールドになります。
コントローラで編集メソッドを取得して、ユーザーが選択した状態を編集ビューページに渡すにはどうすればよいですか?

4

3 に答える 3

1

オプション リストをどのように定義したかはわかりませんが、options_from_collection_for_selectを使用し、それにproc を渡して条件付きでオプションを選択すると機能します。

于 2012-11-15T04:25:19.670 に答える
0

状態のドロップダウン リストに関連付けられたフィールドの一括割り当てに問題がある可能性があります。その属性がモデルで適切に設定されていることを確認してください。そうしないと、、、またはなどのattr_accessibleメソッドを使用するときにその属性の割り当てが無視されます。newcreateattributes=update_attributes

そうでない場合は、オプションの文字列キーとモデルの整数値が競合している可能性があります。2と同じではない"2"ことに注意してください。ドロップダウンのキーが問題のタイプと一致することを確認する必要があります。

于 2012-11-15T04:58:05.207 に答える
0

これは仕事をするはずです

<%= f.select :project_id, @list, :selected => "user_selected_value"] %>
于 2012-11-15T04:37:12.170 に答える