一个select_tag和多个button_to提交按钮

时间:2012-10-26 22:11:19

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

我在同一页面上有一个select_tag和多个button_to按钮。我正在寻找使用select_tag中的几个按钮的参数,是否有一种非形式的方法来做到这一点?

我不想使用表单的原因有两个: 1.按钮数量是动态的 2.按钮的位置不遵循表格结构(顶部的对象和底部的提交)

- 其中一个链接到其中一个按钮的创建方法

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

我检查过,无论我在测试时选择了什么,这个参数[:options]总是为零

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

2 个答案:

答案 0 :(得分:1)

button_to方法实际上创建了一个具有提交按钮的表单,其中表单操作是您在button_to中提到的URL。因此,当您点击提交按钮时,显然选项参数将为零,因为button_to表单中没有数据

您可以使用表单本身,表单不强制要求,顶部有一个对象,下面提交按钮。提交按钮只需提交表单,无论其在表单中的位置如何

答案 1 :(得分:0)

听起来你实际上需要表单中的第二个字段,即选择字段或单选按钮来选择您的操作。然后,您有一个提交表单的按钮,然后在控制器中,您可以解析该新操作字段并决定将用户重定向到何处。