#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.