我想通过提交一个带有单个textarea输入的表单来创建多个对象。
我设想:
- 每一行,一个新的对象
- 属性以逗号分隔
E.g。对于具有以下属性的User
模型:name
,email
,activated
Larry Page, larry@google.com, false
Jeff Bezos, jeff@amazon.com, true
Mark Zuckerburg, mark@fb.com, false
如何在控制器中将表单提交转换为每个"对象的一个数组" (这样我就可以迭代它们并执行创建)?
答案 0 :(得分:2)
在您的控制器中,您可以将用户输入转换为数组,假设每行由换行符分隔:
textfield_value = "Larry Page, larry@google.com, false\nJeff Bezos, jeff@amazon.com, true\nMark Zuckerburg, mark@fb.com, false"
textfield_value.each_line do |d|
row = d.split(",")
MyModel.create(name: row[0], email: row[1], activated: row[2]
end
这可以进一步重构。只是给你一个主意。