0

Railsアプリのページにform_forがあります。ユーザーがドロップダウンメニューから入力したい取引ステージを選択できるようにし、ページが対応するフォーム(対応する部分にある)で応答できるようにしたい。以下は、form_forの簡略版です。また、ページが読み込まれたときに4つのパーシャルを非表示にし、選択メニューから1つを選択すると、そのパーシャルを表示するjavascriptもあります。

= form_for @activity do |f|
  .field
    = f.label :select_deal_stage
    = f.select(:deal_stage, DEAL_STAGE_ARRAY[], {:selected => nil, :prompt => 'Select Stage'})
  = render "deal_stage_1_partial", :f => f
  = render "deal_stage_2_partial", :f => f
  = render "deal_stage_3_partial", :f => f
  = render "deal_stage_4_partial", :f => f

ここでの問題は、フォームに入力して送信すると、パラメータが空白になることです。おそらく、form_for内でフィールドが繰り返され、最後のフィールドから値を送信しているか、実際にはそうではないフィールドから値を送信しているためです。記入されたもの。ドロップダウンメニューから選択されたdeal_stageをフォームで送信されるパラメーターの1つにしながら、これを機能させるにはどうすればよいですか?

追加情報:パーシャルはすべて異なりますが、いくつかの共有フィールドがあります。paramsは、すべてのフォームのすべてのフィールドの完全なリストになります。

4

1 に答える 1

0

次の 2 つのオプションがあると思います。

  1. 重複したフィールドの 4 つのセットに異なる名前を付けます。item_no フィールドがある場合は、item_no_1、item_no_2、item_no_3、item_no_4 と呼びます。次に、正しいものを item_no に移動します。

  2. 一度に 4 つのビュー/部分の 1 つだけをレンダリングします。これは、ユーザーがレンダリングする前にオプションを選択する必要があることを意味します。

幸運を!

于 2012-06-22T14:13:00.843 に答える