2011-07-16 34 views
0

进出口新的Rails中,我尝试执行的ActionController的创建方法多次内的保存方法插入多个值回报率ActiveRecord的保存方法

def create 

    @pin = Pin.new(params[:pin]) 
    i = 1 

    while i < 10 
    if @pin.save 
    end 
    end 

    redirect_to @pin 

end 

这工作,但只插入一条记录 没有约束上强制执行记录在我的数据库中的唯一性。 请问我该如何纠正?

+0

为什么downvote? Upvoted否定。 –

+0

顺便说一句,你在这里有一个无限循环,因为你永远不会在循环中增加我。 – Thilo

+0

Opps,省略了什么,而在这里复制代码,这不是在原来的omgited – dev

回答

3

一个AR对象映射到一行。您需要为要添加的每一行创建新对象。

类似的东西:

10.times do 
    pin = Pin.new(params[:pin]) 
    pin.save 
end 

10.times do 
    Pin.create(params[:pin] 
end 

create方法创建一个AR对象并在数据库中保存它。 但是,您不能重定向到10个对象。

+0

按预期工作 – dev

0

你应该create_multiple方法扩展您的资源,并发送PARAMS为阵,看细节here