2011-07-16 4 views
0

イム新しい方法を保存し、イムは、これはしかし、1つのレコードだけ を挿入働く複数の値RoRのActiveRecordのレールに

def create 

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

    while i < 10 
    if @pin.save 
    end 
    end 

    redirect_to @pin 

end 

を挿入するActionControllerの作成方法を複数回以内の方法を救う実行しようとするように強制一切Contraintsありません私のデータベースのレコードの一意性。 どうすればいいですか?

+0

なぜdownvoteを参照してくださいする必要がありますか?アップグレートして否定する。 –

+0

ここではループ内でiを増やさないので、ここには無限ループがあります。 – Thilo

+0

Opps、ここでコードを再現しながら何を省略したのかは、オリジナルでは省略されていない – dev

答えて

3

1つのARオブジェクトが1つの行にマッピングされます。追加する行ごとに新しいオブジェクトを作成する必要があります。

ようなもの:

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

関連する問題