Ruby 参数拆分和多个提交



我对 ruby 真的很陌生,我正在学习如何控制获取参数并处理它。

万一

def create_pid
@pid_form = Admin::PidCreationForm.new
@person = @pid_form.submit(params[:pid])
if @person
redirect_to  edit_person(@person.id)
end

在这样的代码中,我想获取各种数量的 pid,而不是每个表单获取一个并提交它们。

我如何为此操纵红宝石参数?

理想情况下,您需要发送一个pids数组,例如{pids: [11,22,33]}.

然后你可以做params.permit(:pids)

这将为您提供所有值。您还可以使用它进行活动记录通话,例如User.where(pid: params.permit[:pids])

您可以采用以下格式的数字或文本数组:

<input type="text" name="pids[]" value="111">
<input type="text" name="pids[]" value="222">

在控制器中,您应该能够通过参数正常通过params[:pids]获取它。

最新更新