【问题标题】:Unknown provider: e from AngularJS/Rails app未知提供者:来自 AngularJS/Rails 应用程序的 e
【发布时间】:2013-01-02 05:44:01
【问题描述】:

我正在扩展一个 Rails gem,它为 Rails 应用程序生成 AngularJS 样式的脚手架,请参阅 https://github.com/explainer/angularjs_scaffold。我已将 CoffeeScript 语言支持添加到来自 https://github.com/patcito/angularjs_scaffold 的 fork 中。

当我尝试在生产模式下部署时,我收到了标题中提到的错误,并且 javascript 代码被 rails 资产管道缩小和混淆了。我在http://docs.angularjs.org/tutorial/step_05 阅读了“关于缩小的说明”,并使用了那里提到的“数组”设计模式,但应用程序仍然中断。

脚手架生成 2 个应用级 Angular 控制器、一个虚拟 WelcomeCtrl 和一个 CsrfCtrl 来处理安全令牌。对于每个模型,生成 4 个 REST 样式的控制器,索引、显示、创建、编辑。

我被难住了。我要求一些好人用一个简单的模型构建一个小型 Rails 应用程序,比如说

rails g scaffold Todo body:string, done:boolean

请将我的 gem 包含在 Gemfile 的 :development 组中

gem 'angularjs_scaffold', git: "git@github.com:explainer/angularjs_scaffold.git"

并按照 README.md 中的说明安装生成器并针对您的模型运行它,

rails g angularjs:install --language=javascript

rails g angularjs:scaffold Todos

然后,检查添加到 app/javascripts 文件夹中的文件:

  • csrf_controller.js
  • todos.js
  • todos_controller.js
  • welcome_controller.js

看看你是否能看到我没有正确处理 angularjs 依赖注入要求的地方。

我非常感谢在这件事上提供的任何帮助。

附:我在https://github.com/explainer/plink 添加了一个示例应用程序 Plink,因此只需检查上述文件并找出我的错误或遗漏。

我已经在 github 上公开了测试应用,抱歉疏忽。

【问题讨论】:

  • 最后一个链接不正确。请修复。
  • 我无法访问您的示例应用程序,但可能的原因是您正在隐式注册控制器。尝试使用 $controllerProver.register() 来注册你的控制器。

标签: ruby-on-rails dependency-injection angularjs


【解决方案1】:

一个好人发现了我的问题,这是一个需要显式依赖注入的地方的遗漏。我忽略了它。谢谢,杰夫。

【讨论】:

    猜你喜欢
    • 2015-06-18
    • 1970-01-01
    • 2017-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-01
    相关资源
    最近更新 更多