Метод сохранения RoR ActiveRecord - PullRequest
0 голосов
/ 16 июля 2011

Я новичок в Rails, я пытаюсь выполнить метод save внутри метода Create ActionController несколько раз, чтобы вставить несколько значений

def create

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

  while i < 10
    if @pin.save
    end
  end

  redirect_to @pin

end

Это работает, но вставляет только одну запись в моей базе данных нет ограничений, обеспечивающих уникальность записей. Пожалуйста, как мне исправить это?

Ответы [ 2 ]

3 голосов
/ 16 июля 2011

Один объект AR отображается в один ряд. Вам нужно создать новый объект для каждой строки, которую вы хотите добавить.

Примерно так:

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

или

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

create метод создает объект AR и сохраняет его в базе данных. Однако вы не можете перенаправить на 10 объектов.

0 голосов
/ 16 июля 2011

Вы должны расширить свой ресурс методом create_multiple и отправить параметры в виде массива, подробности см. здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...