Ruby

[Railsエラー解決法] No template found for Controller#method ~

Ruby on Railsで画像アップロード機能を実装している時に、以下のエラーが発生しました。

No template found for UsersController#update, rendering head :no_content Completed 204 No Content in 115ms

この記事には、上のエラーを解決する方法を書いています。

エラーの説明

「UsersController#update」のところはエラーが発生しているコントローラのメソッド。

人によって違うところですね。

今回はこのこの通りUsersControllerのupdateメソッドとして進めていきます。

このエラーは以下のようなことを示しています。

「UsersController#update」の実行後に表示するテンプレート探したけど、無かったで。

レンダリング先の中身、無かったし。

※間違えていたら教えてくださいm(_ _)m

 

 エラーの解決方法

users/update.html.erbを作成する

単純にビューファイルが存在しないという原因が考えれます。

もしupdateメソッドに対応したビューファイルが必要で、このエラーが出るのであればファイルの存在を確認してみてください。

しかし、今回の僕のupdateメソッドにはビューは必要なかったので、こちらのエラーではありません。

updateメソッドにリダイレクト先を指定する

updateメソッドが実行された後に画面が遷移せず固まったのでは無いでしょうか。

その原因はredirect to でリダイレクト先が提示されていなかったこと、だと思います。

僕の場合はredirect_toを書き忘れていただけでした。

なので以下のように、書き加えると直るはずです。

参考記事:No template found for UsersController#create, rendering head :no_content

終わりに

単純なエラーの解決方法でした。今回のエラーはおそらくググればすぐ他の記事も出てきて、解決できるエラーですね。

しかし、プログラミングをやっているとなかなか1人じゃ解決できないエラーに遭遇するときもあります。実際にぼくもかなり苦しんだ経験が何回も。

僕のように苦しむのは時間も心もムダになるので、役立ったエラー解決サービスを紹介する記事を書きました。

ついでに読んでみてください!

あわせて読みたい
プログラミングのエラーが直らない時に使うべきサービス4選 という悩みを解決するサービスを4つ紹介します。 プログラミングにエラーはつきもので、誰もが悩まされます。何...

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください