私はプロジェクトに取り組んでおり、いくつかPhones
を自分のウェブサイトにインポートする必要があります。各電話には IMEI と ref_number があります。
ただし、それらの一部Phones
はすでに DB にあるため、リクエストが長くなり、Heroku でアプリケーション エラーが発生します。
これが私のものphones_controller.rb
です:
def import_xlsx
if params[:xlsx].nil?
render :import_phones
else
filepath = params[:xlsx].path
xlsx = Roo::Spreadsheet.open(filepath)
xlsx = Roo::Excelx.new(filepath)
xlsx.default_sheet = xlsx.sheets.first
csv = xlsx.to_csv
csv_options = { col_sep: ',', headers: :first_row, quote_char: '"' }
csv_new = CSV.new(csv)
CSV.parse(csv, csv_options) do |row|
p = Phone.new(imei: row[0], ref_number: row[1])
p.imei.gsub(/\s+/, "")
if p.valid?
p.save!
else
flash[:alert] = "#{p.imei}"
end
end
redirect_to phones_import_path, notice: 'Votre fichier à bien été envoyer'
end
終わり
それで、それを行う方法、またはリクエストをより速くする方法はありますか?