3

新しい Rails 4 インスタンスをセットアップし、ユーザー クラスをスキャフォールディングしました。

スキャフォールディングされたページに移動しようとすると、内部 500 エラーが発生します。

Started GET "/users" for 127.0.0.1 at 2013-08-11 18:57:28 +1000
Processing by UsersController#index as HTML
  User Load (0.0ms)  SELECT "users".* FROM "users"
  Rendered users/index.html.erb within layouts/application (2.0ms)
Completed 500 Internal Server Error in 1585ms

ActionView::Template::Error (
  (in C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/turbolinks-1.3.0/lib/assets/javascripts/turbolinks.js.coffee)):
    3: <head>
    4:   <title>GlueFactory</title>
    5:   <%= stylesheet_link_tag    "application", media: "all", "data-turbolinks-track" => true %>
    6:   <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
    7:   <%= csrf_meta_tags %>
    8: </head>
    9: <body>
  app/views/layouts/application.html.erb:6:in `_app_views_layouts_application_html_erb___1232737741_41577300'

私は Turbolinks 1.3.0 gem をインストールしました。スタック トレースで示されているように、application.html.erb から <%= javascript_include_tag "application", "data-turbolinks-track" => true %> という行を削除すると、問題なく動作します。

私はこれを Heroku にアップロードしたので、これは私の宝石環境の問題であるに違いないと考えており、そこからターボリンク行が含まれていても問題なく動作します。

バンドルショー:

  • アクションメーラー (4.0.0)
  • アクションパック (4.0.0)
  • アクティブモデル (4.0.0)
  • アクティブレコード (4.0.0)
  • activerecord-deprecated_finders (1.0.3)
  • アクティブサポート (4.0.0)
  • アレル (4.0.0)
  • アトミック (1.1.12)
  • ビルダー (3.1.4)
  • バンドラー (1.3.5)
  • コーヒーレール (4.0.0)
  • コーヒースクリプト (2.2.0)
  • コーヒースクリプトソース (1.6.3)
  • エルビス (2.7.0)
  • execjs (1.4.0)
  • ハイキング (1.2.3)
  • 国際化 (0.6.4)
  • jbuilder (1.5.0)
  • jquery レール (3.0.4)
  • json (1.8.0)
  • メール (2.5.4)
  • MIME タイプ (1.23)
  • ミニテスト (4.7.5)
  • multi_json (1.7.8)
  • pg (0.16.0)
  • ポリグロット (0.3.3)
  • ラック (1.5.2)
  • ラックテスト (0.6.2)
  • レール (4.0.0)
  • レールティーズ (4.0.0)
  • レーキ (10.1.0)
  • rdoc (3.12.2)
  • サス(3.2.10)
  • サスレール (4.0.0)
  • sdoc (0.3.20)
  • スプロケット (2.10.0)
  • スプロケットレール (2.0.0)
  • トール (0.18.1)
  • スレッドセーフ (0.1.2)
  • 傾き (1.4.1)
  • こずえ (1.4.14)
  • ターボリンク (1.3.0)
  • ツズインフォ (0.3.37)
  • 醜い (2.1.2)
4

2 に答える 2

6

私もこのエラーを見たことがあります。execjs のエンコーディングの問題です。このスレッドで解決策を見つけました (ここ) 3番目のオプションを選択しました-はるかに満足です!

于 2013-08-23T13:45:42.813 に答える
3

Ubuntu 14.04 でも同じ問題が発生しました。

rake about

ノードjsが見つかったと報告しました。

which node

与えた

/usr/sbin/node

これは実際にはax25-nodeへのシンボリックリンクでした。

基本的に、Rails は、パス上にnodeという名前の実行可能ファイルが見つかったことを報告しており、それがnodejsであると想定していました。

パッケージnodeax52-nodeをアンインストールし、nodejsパッケージをインストールした後 、問題はなくなりました。

Windows では、nodejs 実行可能ファイルの名前はnodeです。Linux システム (少なくとも私がインストールした ubuntu のバージョン) では、実行可能ファイルの名前は nodejs です。エラーの理由は、実行時に適切な JavaScript インタープリターが見つからなかったためだと思います。

誰かの役に立てば幸いです。

于 2014-09-12T23:53:52.313 に答える