A

プログラミングの学習記録

【本日の学習内容:CSV データインポート機能】

CSVデータインポート機能の実装について学びました。

 

 

Rails環境のコンソール

rails c コマンドを実行することで、Rails環境のコンソール(irb)が立ち上がる。

Rails

環境で立ち上がるので、モデルクラスのメソッドを実行できるようになる。

 

モデル名.メソッド名('パス')コマンドで実行

 

reload!コマンドで、コードの変更内容を読み込んだ上で再度コンソールを立ち上げることができる。

 

クラスメソッドの定義

def self.メソッド名

end

 

このようにメソッドを定義すると、new演算子を用いてモデルクラスのオブジェクトを生成する必要がなくなる。

 

# 通常のメソッドを呼び出す方法

# new演算子でオブジェクト化する必要がある

import_csv = ImportCsv.new

import_csv.import

 

# クラスメソッドの場合

# new演算子がいらない

ImportCsv.import

 

今日のエラー

ActiveRecord::StatementInvalid (PG::UndefinedTable: ERROR:  relation "users" does not exist)
どういうエラーなのか

usersテーブルがないというエラー。

どんなときに起こるのか

rails g model モデル名 コマンドを実行した後に、

bundle exec rake db:migrate コマンドを実行し忘れているとき。

対処法

マイグレーションファイルを作ったら、

すぐに bundle exec rake db:migrate コマンドを実行し、

内容をデータベースに反映させる。

 

 

ActiveModel::UnknownAttributeError (unknown attribute 'address' for User.)

usersテーブルにaddressカラムがないというエラー。 

どんなときに起こるのか

usersテーブルにaddressカラムがないとき。(タイプミスでadressと記述してしまっているなど)

対処法

マイグレーションファイルを修正(addressカラムの記述)して、

rails db:migrate:reset コマンドを実行する。