如何通过复选框标签传递参数

How to pass params through a checkbox tag

我有一个带复选框的简单表单。 我正在尝试通过复选框传递 sale_id。但是在控制器中,sale_id 不在参数哈希中。

我尝试了以下不同的(不成功的)方法:

<%= ff.check_box :refund, sale_id: sale.id, checked: true %>

<%= ff.check_box :refund, data: {sale_id: sale.id}, checked: true %>

如果您想传递单个销售 ID,您可以将任意值作为第 3 个和第 4 个参数(在选项之后)传递给 checked/unchecked 个状态,例如

<%= ff.check_box :refund, {}, sale.id, nil %>

如果是要退款的东西数组,那么可以传入multiple: true作为选项,例如

<%= ff.check_box :refund, {multiple: true}, sale.id, nil %>

有关 check_box 的更多信息,请参阅 the docs

正如一些评论者所指出的那样 - 非常不清楚您为什么要这样做,可能会有更好的 pattern/approach。如果您在 controller/model.

中包含您要执行的操作以及您希望如何使用该值,将会很有帮助