Ruby on rails 根据数组的元素数生成多条记录
我希望编写重复次数与数组相同的代码,然后将数据存储到数据库中。我认为这很顺利,但没有。 有什么不对劲吗 谢谢Ruby on rails 根据数组的元素数生成多条记录,ruby-on-rails,ruby,Ruby On Rails,Ruby,我希望编写重复次数与数组相同的代码,然后将数据存储到数据库中。我认为这很顺利,但没有。 有什么不对劲吗 谢谢 def create product = Product.new product_params['type'].each do |t| product.name = product_params['name'] product.about = product_params['about'] product.type = t product.save
def create
product = Product.new
product_params['type'].each do |t|
product.name = product_params['name']
product.about = product_params['about']
product.type = t
product.save
end
end
params.require(:product).permit(:name,:about, type: [])
您多次保存同一对象。尝试在每个循环中移动product=product.new行。您多次保存同一对象。尝试在每个循环中移动product=product.new行。产品实例需要在每次迭代中初始化,以便每次都在数据库中创建新记录,而不是更新现有记录:
def create
product_params['type'].each do |t|
Product.create(
name: product_params['name'],
about: product_params['about'],
type: t
)
end
end
需要在每次迭代中初始化产品实例,以便每次都在数据库中创建新记录,而不是更新现有记录:
def create
product_params['type'].each do |t|
Product.create(
name: product_params['name'],
about: product_params['about'],
type: t
)
end
end
仅供参考,当询问为什么某些东西不起作用时,您还应该提供关于它如何不起作用的信息。与本例类似-仅创建了一个/最后一个产品。product.errors将显示失败的错误。仅供参考,当询问为什么某些产品不起作用时,您还应提供有关它如何不起作用的信息。与本例类似-只创建了一个/最后一个产品。如果失败,product.errors将显示错误。@johnny,欢迎您。如果我的回答确实对您有所帮助,请单击itI附近的绿色复选标记,将其标记为已接受。我是个初学者,我不懂。谢谢你的帮助@约翰尼,欢迎你。如果我的回答确实对您有所帮助,请单击itI附近的绿色复选标记,将其标记为已接受。我是个初学者,我不懂。谢谢你的帮助!