【问题标题】:Angular Rails Templates just not workingAngular Rails 模板不起作用
【发布时间】:2015-04-17 21:06:39
【问题描述】:

我正在关注关于使用 angular+rails 的思想家教程 (https://thinkster.io/angular-rails/)。一切都很好,直到我尝试使用 angular-rails-templates 将模板放入 javascript 文件夹中。我是 Rails 新手,所以我不知道这个宝石是如何工作的。但我确实多次按照教程进行操作,但仍然无法正常工作。

综上所述,注入到 Angular 应用程序中的“模板”模块似乎没有将这些模板编译到 templateCache 中,或者 application.js 文件忽略了所有扩展名为 .html 的文件。

这是我在 github 上的代码: https://github.com/collapsarzhang/demo-projects/tree/master/flapper-news

【问题讨论】:

  • 请在问题中添加代码。
  • 好的,我发现这是由于 sprockets 3 & angular-rails-templates 不兼容造成的
  • @KevinZhang,有解决办法吗?我和你在同一条船上。这段代码曾经对我有用,但我认为最近的更新破坏了它。

标签: javascript ruby-on-rails angularjs


【解决方案1】:

我找到的解决方案在这里:http://ademartutor.azurewebsites.net/angular-rails-templates-gem-error-with-sprockets-3-0-o/

这是一个 sprockets 不兼容,但 2.1.3 有效,所以在您的 Gemfile 中使用它:

gem 'sprockets', '2.12.3'

(显然需要bundle update sprockets)

【讨论】:

  • 我也有这个问题。感谢您的修复。我还发现使用 puma gem 会使它爆炸。有什么想法吗?
  • @R.J.Robinson 恐怕这里没有线索。
  • 我认为将 angular-rails-templates 更新到 0.2.0 应该与 sprokets 3 兼容。但事实并非如此..
  • 在此解决方案发布一年后,我遇到了同样的问题,但它似乎不再有效。 angular-rails-templates gem 的 1.x 版本需要 sprockets 3.x。也许安装 gem 的 0.x 版本和 sprockets 的 2.x 版本会起作用,但我将继续本教程而无需单独的模板,因为我已经在这方面花费了太多时间。
【解决方案2】:

做就够了

bundle update

因为图书馆正在寻找 sprockets ~> 2

【讨论】:

    【解决方案3】:

    如果 Rails 出现指向您的模板文件的 404 错误,请确保为您的模板命名与您使用它的 .js 文件不同。

    模板服务需要能够区分my_directive.js和my_directive.html编译到.js中的模板缓存。您应该以不同的方式命名您的模板,例如。 my_directive_template.html.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-25
      • 1970-01-01
      • 2019-02-27
      • 2018-09-15
      • 2021-07-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多