1.エラーの内容
題名部分の英語を読むと"creditcard_controllerに定義したindexアクションはありません"というエラー文となっています
2.エラーの原因
1.viewファイルを作っていない
rails g controller xxx
によってファイルを生成した直後はapp/view/xxxフォルダまでしかできておらず、viewファイルは手動で作成する必要があります
2.app/controllers/xxx_controller.rbの中の def 〇〇
に連動したファイル名としていない
railsの機能によりcontroller.rbファイルのdef 〇〇
をrequire './view/xxx'という機能により見えないところで呼び出しを行なっています。(xxxフォルダを読み込む(実行されるのは〇〇ファイル)コマンド機能となっています)なので、その命名規則に則っていないとこのエラーとなります。
3.連動したファイル名としているがファイル(フォルダ)名を間違っている
2.と同様の理屈により、スペルミスがあったり、複数形のsをつけ忘れたりすると、呼び出し時にエラーを吐いてしまいます。
4.erbファイルではなく、hamlファイルで記載しようとした時に、gemfileの中にgem 'haml-rails'
の記述を忘れている
hamlファイルというのは独自の追加機能で、読み込むにはgemファイルが必要であり、その記載を忘れているとファイル名があっていてもファイルそのものを読み込むことができず、エラーを吐いてしまいます
3.エラーの解決法
1.app/view/xxx/〇〇.html.erb この位置にファイルをつくる
2.app/view の中のフォルダ名(xxx)とファイル名(〇〇)がコントローラ名と対応しているか確認する
3.対象ファイルが2.の命名規則に従いつつ誤字脱字や複数形のミスをしていないか確認する
4.(hamlファイルを使用する場合)gemfileの中にgem 'haml-rails'
の記述を行い、bundle install
コマンドを打つ
これで題名のエラーについて大抵のものは解決できるかと思います。