超初心者がRuby on Railsインストールで詰まったところ~「TypeError:」~

Pocket

前回までの流れで、
Ruby2.4.3-2
Rails5.1
のインストールができたので、ようやくサーバを立ち上げてコンテンツの作成に。

今回は、topアクションを持つhomeコントローラを作ります。
コンソールで

rails g controller home top

を実行すると、自動的に必要なディレクトリやファイルが作成されます。

あとは、サーバを立ち上げて、パスを指定すれば自動生成されたファイルが表示されるはず。。
と思いきや、ここでドはまりしてしまいました。

lodalhost:3000では、ちゃんとYay! You’re on Rails!は表示されるのに、

lodalhost:3000/home/topを指定すると、こんなエラー画面が!

コンソールにもこのとおり。

Started GET "/home/top" for 127.0.0.1 at 2018-03-16 13:57:02 +0900
Processing by HomeController#top as HTML
Rendering home/top.html.erb within layouts/application
Rendered home/top.html.erb within layouts/application (1.0ms)
Completed 500 Internal Server Error in 1248ms

ActionView::Template::Error (TypeError: オブジェクトでサポートされていないプロパティまたはメソッドです。):

(中略)

app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb__513025883_121106620'

結論から言いますと、
やらないといけない作業が抜けていました!
「node.js」のインストールです。

node.jsから環境に合ったものを選んでインストールし、
サーバをCtrl+cで停止して、コンソールを全て閉じます。

再度コンソールを立ち上げてから
rails s
でサーバを起動します。
(起動させる場所に注意!)

ブラウザでlocalhost:3000/home/topを確認すると、
無事に表示されました。

【参考までに】
エラー内容から、何かが足りないのだな、というのはわかりますが、ルーティングもコントローラも確認してもおかしなところはなく、Webで検索しても

gem 'coffee-script-source', '1.8.0'

でcoffeescriptのバージョンを下げたら解決したという方が多いようですが、RubyもRailsも古いバージョンの情報のようで、同じことをしてもcoffee-script-sourceって何ですか?みたいなエラーが出ました。

今回の環境では、この方法で解決できませんでしたが、
あまりにこの情報が多く見られたので、ご参考までに。

コメントを残す

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