##1.はじめに
この記事では私が実際に体験したエラーとその原因と解決方法について書いてます
参考になるかどうかわかりませんがよろしくお願いします。
##2.エラー内容
今回のエラーはツイートアプリにて新規投稿した際に
発生したエラーになります。
##3.エラー解説
まずは一番上の文のNo templete for interactive requestについて解説していきます。
No templateとは訳すとビューファイルが見つからないよということになります
じゃあなんのビューファイルが見つからないかというとその下の分をみてもらうと
TweetsController#new is missing a template for request formats: text/html
と書いてあります。
Tweetsコントローラーのnewアクションに対応するビューファイルが見つからないよということ
このことからビューファイルになんらかの問題があるという仮説が立てられます。
##4.エラー解決
そしてビューフォルダのツイートフォルダをみてもらうと
本来はnew.html.erbのところがnwe.html.erbになってしまっています。
これを正しい表記、new.html.erbにしてあげるとエラーが
解消します。
##5.あとがき
今回のエラーはビューファイルの表記ミスでしたが今一度MVCのコントローラーとビューについて復習してみると
コントローラー内のアクションはレスポンスとしてブラウザに返す見た目をビューフォルダの中から見つけ出す役割があります。
例をいうとコントローラー内で
def index
@tweet = Tweet.all
end
と記述していてもビューフォルダでそのコントローラー内のアクションに対応しているビューファイルがないとコントローラはレスポンスとしてブラウザに返すことができない。
そのため今回のようなエラーが起こりました。