2017-08-15 6 views
2

レール4.2.0のアプリケーションを5.1.2にアップグレードしています。私はAngular 1.xを使って自分のレールアプリケーションページを選択的に強化していました。私のレールビューはHAMLにあります。ここでは5.1.2ではない4.2.0で正常にロードしたページの抜粋ですが、:レールへのアップグレード5.1.2レールから4.20ブレーク角の組み込み

.well{"ng-app" => "billing", "ng-controller" => "BillableCtrl"} 
    = simple_form_for @billable do |f| 
    .row 
     .col-md-4 

これは、このビューの角度罰金をロードします。しかし、これをRails 5.1.2でロードしようとすると、javascriptコンソールに次のスタックトレースが表示されます。

Uncaught SyntaxError: Unexpected token & angular.self-26d045c60a96c782aa8ef9f5709b1b4fd1ec8578bc37ec2c6c2b9c4370f4bac0.js?body=1:64 Uncaught Error: [$injector:modulerr] Failed to instantiate module billing due to: Error: [$injector:nomod] Module 'billing' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.

私は、レール5.1.2のアップグレードでngannotate-railsバージョン1.2.2を使用しています。レール4.2.0のバージョンで使用されているngannotate-railsのバージョンは0.15.4でした。

他に誰かがこの問題に遭遇しましたか?調査するオプションは何ですか?

答えて

0

角度の問題ではなく、Rails to Javascriptメッセージングの問題であることが判明しました。私のjavascript関数の1つで次の行コードを見てください:

$ scope.billable_item = #{@billable.to_json};

私の経験上、Rails 4.2.0までは、Railsのデータをjavascriptに渡す標準的な方法でした。しかし何らかの理由で私はまだ理解していませんが、それは壊れています。 Angularは非常に混乱したメッセージを投げかけていました。私は 'Gon'宝石を使ってRailsからJavascriptにデータを渡していましたが、うまくいきました。私はGonの宝石とのJavascriptコミュニケーションに私の全レールを切り替えるようになります。

関連する問題