首页 > 解决方案 > Rails 5.2 AngularJS 和 html 模板

问题描述

似乎无法弄清楚如何让资产管道为像这样的组件播放漂亮的 AngularJS 模板文件:

app.component("chart", {
 templateUrl: "./templates/chart_element_tpl.html",
 controller: ChartElementController,
 bindings: {
    accounts: '='
 }
});

我在这里查看了有关此问题的各种帖子,但似乎没有任何建议有效。我总是收到 404 错误。其中一位谈到将 sprocket 升级到 2.x 版,但我已经使用了 4 版。

我已经注意确保我的模板具有与另一篇文章中建议的 javascript 文件不同的名称,但这些东西似乎都没有奏效。

仅供参考,资产相关资产目录的结构是:

app/assetsjavascripts/chart_component.js
app/assets/javascripts/templates/chart_element_tpl.html

html 模板存储在 javascripts 文件夹中对我来说确实很奇怪,但这似乎是人们这样做的方式。我还确保将目录包含在 applications.js 清单中

//= require_tree ./templates

我尝试了诸如assets:cleanassets:precompileyarn install重启服务器之类的方法,但似乎都没有解决问题。

我还安装了 angular-rails-templates gem 并在 application.js 中需要它,也没有帮助。

对我来说这确实是有道理的,因为实际文件在公共目录中是版本化的等,但不知道该怎么做,以便 AngularJs 可以找到我的模板。

标签: ruby-on-railsangularjsasset-pipelinesprockets

解决方案


推荐阅读