activerecord-importでこの記事を参考にcsvインポートしようとしています。
https://qiita.com/junara/items/183aaff5e5b77ec1c679
ただApplicationモデルに
class ApplicationRecord < ActiveRecord::Base self.abstract_class = true def self.simple_import(path: '', col_sep: ',') a = [] CSV.foreach(path, headers: true, col_sep: col_sep) do |r| a << self.new(get_import_params(r)) end import a # activerecord-importのメソッドです。 end private def self.get_import_params(row) headers = row.headers & self.column_names # 存在するカラム名のみに限定する headers.each_with_object({}) do |c, h| h[c.to_sym] = row.field(c) end end end
を書いてrails consoleで
Post.simple_import('db/input.csv', col_sep: ',')
を打ったのですがなぜか
irb(main):004:0> Post.simple_import('db/input.csv', col_sep: ',') ArgumentError: wrong number of arguments (given 1, expected 0) from app/models/application_record.rb:4:in `simple_import' from (irb):4 irb(main):005:0>
がでてしまいます。。。引数の数あっていると思うんですがなぜなんでしょう。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/01/11 00:16