gpt4 book ai didi

mysql - 如何将数组变量添加到数据库表中

转载 作者:行者123 更新时间:2023-11-29 18:07:10 25 4
gpt4 key购买 nike

我有一个表格。从该表单以相同的名称发布数组变量。 (对不起,我的英语不好。)这是示例:

<input type="text" name="name[]" class="form-control">

它就像[“a”,“b”,“c”]

我需要将这个变量从数组保存到mysql。不带数组。就一一吧。

从我的帖子 Controller 创建

array_length = params[:type].size
for i in 0..array_lenth
type = params[:type][i]
name = params[:name][i]
title = params[:title][i]
value = params[:value][i]

#And save code.
end

我知道我可以使用一些普通的 SQL 查询来保存,但我不知道我应该使用或如何使用 params require Permit 。类似的东西

def form_params
params.require(:form).permit(:id, :type, :name, :value, :title, :post_id)
end

如果我使用这个,我如何确定必要的变量。请帮助我,对我的英语感到抱歉:)

注意:我有新的帖子表单,我必须将一些变量添加到帖子表单中的另一个表中(就是那些数组)

最佳答案

您必须指定参数是一个实际的数组,例如:

def form_params
params.require(:form).permit(:id, :type, :value, :title, :post_id, name: [:name_of_attribute, :another_name_for_attribute])
end

然后是您的表单:

<div class="field">
<%= form.text_field "name[name_for_attribute]" %>
</div>

其中 name_for_attribute 是您想要的属性的名称,因此在 Controller 上您将读取如下参数:

"form" => {"name"=>{"name_for_attribute"=>"The entered value"}

您可以将 name_for_attribute 更改为您想要的任何内容,如果由于某种原因有人试图通过检查 HTML 向数组中添加另一个奇怪的东西,您无论如何都会过滤您想要的所有属性。

希望这有帮助!让我知道进展如何

关于mysql - 如何将数组变量添加到数据库表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47733039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com