1

我在同一页面上有一个 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

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

<%= 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。因此,当您点击提交按钮时,显然选项参数将为 nil,因为 button_to 表单中没有数据

您可以使用表单本身,并且表单不强制,顶部有一个对象,下面有一个提交按钮。提交按钮只是提交表单而不管它在表单中的位置

于 2012-10-28T07:15:45.640 回答
0

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

于 2012-10-26T22:27:49.550 回答