LoginSignup
2
0

More than 3 years have passed since last update.

【開発ログ⑤】見たことないエラーでビューが表示されなかった話

Posted at

前提について

はじめまして、
プログラミングスクールに通ういりふねと申します。この記事は、スクールの課題である個人アプリの開発の記録を書くことで、自身のアウトプットに利用しています。もし、読んでいただけた方がいましたら、フィードバックをしていただけたら嬉しいです。

開発するのは「有給休暇管理ツール」です。仕様は過去記事をどうぞ。

アプリはデプロイまで行いますが、サービスとして提供するものではありません。あくまでも自学習の一環ですので、ご理解下さい。では本題へどうぞ。

今回実施する内容

前回までで、テーブルの作成までが完了しました。今回は、「index,html.haml」のビューページの表示までを目指します。手順は次の通りです。
- ルーティングファイルを編集
- branchコントローラーの作成と編集
- index.html.hamlの作成
- ローカルからrootパスへアクセス
- 表示されていればOK

最初は順調

ルーティングの編集、branchesコントローラーの作成とindexアクションの編集。viewsディレクリ内に「branches」ディレクトリを作成し、「index.html.haml」の作成までサクサク進みます。ローカルサーバーを起動し、「local:3000」へアクセスするとエラーが出てきました(泣)

見たことないエラー。。。

スクリーンショット 2020-05-10 14.31.15.png

ExecJS::RuntimeError in Branches#index

調べたところ、RubyからJavaScriptを実行する「ExcJS」に関するエラーのようで、解決策も複数あるようです。読んだ記事はこちら

ExecJSとは
Rubyスクリプトからjavascriptコードを実行するための仕組み
ExecJSがjavascriptエンジンを自動検索(=autodetect)する

gemのインストールで解決

いくつかあった解決方法の中に「therubyracer」というgemをインストールすれば良いとあったので、実行しましたが、そもそもbundle installがうまく完了しません。
念のため、ルーティングやコントローラーの記述を確認しましたが、こちらは問題ないようです。

そんなとき、こちらの記事に出会いました。

前置きが長くなりましたが以下が本題。今週久しぶりに環境構築をした所、案の定>therubyracerで止まり、「はいはい、またキミね」という感じだったのだが、なんとtherubyracerの後継としてmini_racerが爆誕しており、Rails本家にもマージされていた。

mini_racerはかなり新しいlibv8をハンドリングしている。試してみた所簡単にインストールが成功した。

私もmini_racerのgemをインストールしたところ、無事にビューページが表示されました。これで、一件落着です。

今日の積み上げ

  • カリキュラムに載っていないエラーを見つけたら、用語の確認、原因の調査をおこなう。
  • 検索する際は、記事の作成日もチェックする。
  • 時間がかかっても自分で解決する癖をつける。
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0