我是Rails的新手,我试图在ActionController的Create方法中多次执行save方法以插入多个值
def create
@pin = Pin.new(params[:pin])
i = 1
while i < 10
if @pin.save
end
end
redirect_to @pin
end
这可以工作但只插入一条记录 没有Contraints强制我的数据库中记录的唯一性。 请问我该怎么纠正这个?
答案 0 :(得分:3)
一个AR对象映射到一行。您需要为要添加的每一行创建新对象。
类似的东西:
10.times do
pin = Pin.new(params[:pin])
pin.save
end
或
10.times do
Pin.create(params[:pin]
end
create
方法创建AR对象并将其保存在数据库中。
但是,您无法重定向到10个对象。
答案 1 :(得分:0)
您应该使用create_multiple方法扩展您的资源并将params作为数组发送,请参阅详细信息here