1

Rails を学習しようとしていますが、最初に学習したかった演習の 1 つは、データベースへの csv インポートを自動化することでした。だから私はモデルを作成しました

rails g scaffold Domain  dns:string current_bid:integer join_by_pt:datetime bidders:integer seller:string tld:string length:integer words:string categories:string hyphnens:string numbers:string auction_type:string

次に、rake ファイルを作成しました。

require 'csv'

desc "Import domains from csv file"
  task :import => [:environment] do

  file = "db/dl.txt"

  CSV.foreach(file, :headers => true) do |row|
  entry = Domain.find_or_create_by(:dns => column[1])
  entry.bid = column[2]
  entry.join_date = DateTime.parse(column[3])
  entry.bidders = column[4]
  entry.seller = column[5]
  entry.tld = column[6]
  entry.length = column[7]
  entry.words = column[8]
  entry.categories = column[9]
  entry.hyphens = column[10]
  entry.numbers = column[11]
  entry.auction_type = column[12]
  entry.save 
 end

end

しかし、実行しようとすると、次のエラーが表示されます。

> rake aborted! undefined local variable or method `column' for
> main:Object /Users/user/drop/lib/tasks/import.rake:9:in `block (2
> levels) in <top (required)>'
> /Users/uer/drop/lib/tasks/import.rake:8:in `block in <top (required)>'

私が間違っていることと、私の考え方がどこで間違った方向に進んだかについての指針はありますか?

ありがとうございました

4

1 に答える 1