У меня есть следующий seeds.rb файл:Rails Database seeds.rb «помнит» старые данные
require 'spreadsheet'
allEng1 = [] #english
allSpa1 = [] #english to spanish
allSpa2 = [] #spanish
allEng2 = [] #spanish to english
totalWords = 4999
#Lang.truncate_me!
book1 = Spreadsheet.open('FinishedEnglishListNoDuplicatesWithFrequencyWithPOSReadyForDB6.xls')
sheet1 = book1.worksheet 'Sheet1'
book2 = Spreadsheet.open('finishedSpanish.xls')
sheet2 = book2.worksheet 'Sheet1'
for i in 0..totalWords
vrow = sheet1.row(i)
allEng1[i] = vrow[0]
allSpa1[i] = vrow[1]
vrow = sheet2.row(i)
allSpa2[i] = vrow[0]
allEng2[i] = vrow[1]
end
for j in 0..totalWords
Lang.create(english: allEng1[j], english_to_spanish: allSpa1[j], spanish: allSpa2[j], spanish_to_english: allEng2[j])
end
Когда я удалить все из моего Lang БД и запустить seeds.rb, это, кажется, «вспомнить» слова, которые ранее были в БД.
Например, в моей электронной таблицы «finishedSpanish.xls» Я обновляю испанское слово «йо» к «Yo», но когда я бегу следующие команды я все еще получаю «йо» в БД:
Lang. delete_all
грабли БД: семя (эта команда работает очень быстро, что заставляет меня думать, старые данные кэшируются где-то и не загружая обновленную информацию)
Любая идея, почему это?
добавить 'puts' к каждому элементу, например' puts allEng1 [j] ', чтобы проверить, действительно ли они установлены. – mohameddiaa27
Все 4 массива устанавливаются/проверяются с помощью puts – mtcrts70
. Только 2 возможности, вызывающие такую проблему, являются обратными вызовами, которые обрабатывают строки или передают старые файлы в «Spreadsheet.open» – mohameddiaa27