1

内に次の選択ボックスがありますform_tag

<select name="sel">
  <option selected=true value="+">+</option>
  <option value="-">-</option>
  <option value="*">*</option>
  <option value="/">/</option>
</select>

コントローラの選択ボックスのオプションを設定するにはどうすればよいですか? また、フォームを送信した後でも選択したオプションを保持するにはどうすればよいですか?

4

2 に答える 2

1
<%= select_tag "sel", options_for_select([['+', '+'], ['-','-'], ['*','*'],['/','/']], params[:sel] || '*')
于 2013-09-11T12:37:47.820 に答える
0

デフォルト値を選択して保持する場合、1 つの可能性は次のとおりです。

<%= select_tag "sel", "<option>+</option><option selected='selected'>-</option><option>*</option><option>/</option>".html_safe %>

以前に選択された値を保持したい場合は、それをどこかに保存し、コントローラーで使用できるようにする必要があります。たとえば @previously_selected 変数で、次のようにします。

select_tag "whatever", options_for_select([ "+", "-", "*", "/" ], @previously_selected)
于 2013-09-11T12:34:41.547 に答える