В таблице, как вставить несколько записей одновременно в rails3.0?

#ruby-on-rails-3

#ruby-on-rails-3

Вопрос:

Может кто-нибудь рассказать мне, пожалуйста, как вставлять несколько записей в одну таблицу за раз. Например, у меня есть одна таблица с тремя полями, созданными и перенесенными, так что все в порядке. теперь при запуске я получу индексную страницу со всеми записями, которые я в нее вставил.

До сих пор я вставлял обычным способом, как вставляется одна запись. Теперь я хочу вставлять в одну и ту же таблицу по 10 строк за раз.

Сначала я хочу отобразить 10 пустых полей, что означает, что на новой странице я хочу 10 пустых строк, и один раз поле вводится и отправляется, а затем одновременно вставляется в таблицу.

Друзья, мой вопрос на…..

Пожалуйста, пожалуйста, скажите мне. Я пытаюсь это сделать с 20 дней, но не получается……….

Комментарии:

1. Связана ли эта модель ассоциацией has_many с какой-либо другой моделью?

Ответ №1:

У Rails нет особенно хорошего способа, о котором я знаю, для выполнения массовых обновлений / вставок. Как правило, вы должны использовать цикл, который создает один элемент на каждой итерации. Предполагая, что у вас есть массив, содержащий хэши с желаемыми атрибутами ваших элементов, сделайте что-то вроде:

 item_array.each do |attributes| 
  Item.create(attributes) unless attributes.empty?
end
  

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