1

同じページに1つのselect_tagボタンと複数のbutton_toボタンがあります。いくつかのボタンにselect_tagのパラメーターを使用しようとしていますが、これを行うための非形式的な方法はありますか?

フォームを使用したくない理由は2つあります。1。ボタンの数が動的である2.ボタンの配置がフォームの構造に従わない(上部のオブジェクトと下部の送信)

-これは、ボタンの1つにリンクされているcreateメソッドの1つです。

def create
  params[:options].each do |x|
    @connector = Connector.find_or_create_by_options_id_and_follow_id(x.id, current_user.follow(@product).id)
    @connector.save
  end
end

チェックしたところ、テスト時に何を選択しても、このparams [:options]は常にnilです。

<%= select_tag :options, options_for_select(@current_user_options.map {|p| [p.name, p.id] }), {:multiple => true} %>
4

2 に答える 2

1

button_toメソッドは、実際には送信ボタンを持つフォームを作成します。フォームアクションは、button_toで指定したURLです。したがって、送信ボタンを押すと、button_toフォームにデータが含まれていないため、オプションパラメータは明らかにnilになります。

フォーム自体を使用できますが、フォームは必須ではなく、上部にオブジェクトがあり、下部に送信ボタンがあります。[送信]ボタンは、フォーム内の位置に関係なく、フォームを送信するだけです。

于 2012-10-28T07:15:45.640 に答える
0

実際には、アクションを選択するための選択フィールドまたはラジオボタンであるフォームの2番目のフィールドが必要なようです。次に、フォームを送信するボタンが1つあり、コントローラーでその新しいアクションフィールドを解析して、ユーザーをリダイレクトする場所を決定できます。

于 2012-10-26T22:27:49.550 に答える