我对 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]
获取它。