前提・実現したいこと
初心者です。
Railsでファイル「Input.csv」の内容をテーブル「keiyakus」にインサートするためのプログラムをつくっています。
ActiveRecord::Baseのsave実行時に以下のエラーメッセージが発生し、インサートされません。
発生している問題・エラーメッセージ
/usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/gems/2.4.0/gems/activemodel-5.2.1/lib/active_model/validations/clusivity.rb:8: warning: already initialized constant ActiveModel::Validations::Clusivity::ERROR_MESSAGE /usr/local/rvm/gems/ruby-2.4.1@global/gems/activemodel-5.2.1/lib/active_model/validations/clusivity.rb:8: warning: previous definition of ERROR_MESSAGE was here /usr/local/rvm/gems/ruby-2.4.1@global/gems/activerecord-5.2.1/lib/active_record/attribute_methods/read.rb:37:in `__temp__3756e646': wrong number of arguments (given 1, expected 0) (ArgumentError)
該当のソースコード
ruby2.5.1p57
1require 'rubygems' 2require 'fileutils' 3require 'csv' 4require 'active_record' 5require 'mysql2' 6require 'date' 7 8# DB接続設定 9ActiveRecord::Base.establish_connection( 10 adapter:"mysql2", 11 host:"localhost", 12 username: "user_development", 13 password: "pass_development", 14 database: "db_development", 15 ) 16 17# Model -Keiyaku-を定義 18class Keiyaku < ActiveRecord::Base 19end 20 21#Keiyakusへのinsert 22FILE_NAME = 'Input.csv' 23File.open(FILE_NAME) do |file| 24 file.each_line do |line| 25 vals = line.split(',') 26 attr = {customer_name:vals[10]} 27 keiyaku = Keiyaku.new(attr) 28 keiyaku.save! 29 end 30end
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
・言語:ruby 2.5.1p57
・フレームワーク:Rails 5.2.0
・データベース:5.5.56-MariaDB MariaDB Server
・テーブル:keiyakusu
※他カラムは省略
あなたの回答
tips
プレビュー