【Ruby on Rails】アプリケーション実行時にMissingHelperErrorが発生したときの対処法

 

こんにちは、ばっしー(@issyu_39)です。

 

今回はRuby on Railsチュートリアルを進めていく中で、“MissingHelperError”というエラーが頻発したので、その解決方法を調べてまとめてみました。

 

簡単な対処で解決することが多いらしいのですが、私の場合はそれでは解決できなかったので、同じエラーが出て困っている方はぜひ試してみてください!

 

MissingHelperErrorとは

 

rails server http://localhost:3000/ にアクセスすると以下のようなエラーが返ってきます。

 

これはRuby 2.2.0からのバグらしいのですが、私が使用しているRuby5.2.0でもなおこのバグが発生します。

 

このバグはWindowsやMacなどのOSに依存するものではなくStackOverflowなどでもちょいちょい質問が見られますね。

 

Rubyの正規表現をうまく処理できずに application_helper.rb が変なファイル名となってしまい、helperファイルがないよと怒られてしまうみたいです。

 

解決法としてはいくつかあるみたいなので紹介していきます!

 

MissingHelperErrorの解決法

 

アプリケーションのフォルダ名を変更する

 

まずは単純にアプリケーションの名前をフォルダごと変えてしまう方法です。

mvコマンドで一度適当な名前を付けてから、元の名前を付けなおします。

 

たいていの場合はこの方法で直るみたいですが、もし直らない場合は以下の方法を試してみてください。

 

application_helper.rbの名前を変更する

 

そもそも原因となっている application_helper.rb のファイル名を変更します。

名前を変えることで正規表現のミスが発生せず、正常にhelperファイルが読み込まれるようになります。

 

 

アプリケーションフォルダを\Userよりも上の階層に置く

 

最後はアプリケーションフォルダを\Userよりも上の階層に移動させることです。

 

私はこの方法を試してみました。

 

\Userよりも上の階層に移動させてから rails server を実行することで正常にアプリケーションが動作するようになります。

 

参考

 

コメントを残す

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

ABOUTこの記事をかいた人

所持金数万円で家出→大学院中退→組み込みエンジニア1年目 週末ブロガー。フォトグラファー。 Webエンジニア目指して勉強中。 C/Ruby/Rails/PHP/Python/HTML/CSS/WordPress/IoT/語学