Ruby on rails 从rails 4.20升级到rails 5.1.2打破了角度集成

Ruby on rails 从rails 4.20升级到rails 5.1.2打破了角度集成,ruby-on-rails,angularjs,haml,ng-annotate,Ruby On Rails,Angularjs,Haml,Ng Annotate,我正在将我的rails 4.2.0应用程序升级到5.1.2,一切正常。我曾使用Angular 1.x有选择地增强我的rails应用程序页面。我的rails视图在HAML中。以下是一个页面片段,该页面在4.2.0中加载良好,但在5.1.2中没有加载: .well{"ng-app" => "billing", "ng-controller" => "BillableCtrl"} = simple_form_for @billable do |f| .row .co

我正在将我的rails 4.2.0应用程序升级到5.1.2,一切正常。我曾使用Angular 1.x有选择地增强我的rails应用程序页面。我的rails视图在HAML中。以下是一个页面片段,该页面在4.2.0中加载良好,但在5.1.2中没有加载:

.well{"ng-app" => "billing", "ng-controller" => "BillableCtrl"}
  = simple_form_for @billable do |f|
    .row
      .col-md-4
在该视图中,这将加载角度精细。但是,当我尝试在Rails 5.1.2中加载此脚本时,我在javascript控制台中获得了以下堆栈跟踪

未捕获的语法错误:意外标记& 角度。自-26d045c60a96c782aa8ef9f5709b1b4fd1ec8578bc37ec2c6c2b9c4370f4bac0.js?主体=1:64 未捕获错误:[$injector:modulerr]未能实例化模块 计费原因:错误:[$injector:nomod]模块“计费”不正确 可用!您要么拼错了模块名,要么忘记加载它。 如果注册模块,请确保将依赖项指定为 第二个论点

我正在rails 5.1.2升级中使用ngannotate rails 1.2.2版。rails 4.2.0版本中使用的Nganotate rails版本为0.15.4


还有其他人遇到过这个问题吗?有哪些选项需要研究?

结果表明,这不是一个角度问题,而是一个Rails到Javascript的消息传递问题。查看我的一个javascript函数中的以下行代码:

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

根据我的经验,在Rails 4.2.0之前,这是将Rails数据传递到javascript中的标准方法。然而,由于某种我还不明白的原因,它被打破了。这导致Angular抛出了非常混乱的信息。一段时间以来,我一直在使用“Gon”gem将数据从Rails传递到Javascript,我切换到了工作正常的方式。现在,我将把我的整个Rails切换到Javascript通信到Gon gem