angularjs - Rails 5 不提供 /assets/images 中的 Rails 5 ui-icons.png 文件?
问题描述
使用带有 AngularJS 和 Bootstrap 的 Rails 5。
我有一个指令生成一个表单,该表单使用我从 ui-icons_444444_25x240.png 获得的图标。
此文件位于 app/assets/images 中,但系统似乎无法找到它。我在控制台中收到以下错误:
angular-animate.self-4159531cc5685b66e6cdfd76c35d196124b4dde2fa449ceca973e3af2b070f66.js?body=1:766 GET http://localhost:3000/assets/images/ui-icons_444444_256x240.png 404 (Not Found)
这是寻找图标的指令:
function templateConstantsModal(projectName) {
let buttonCaption = "OK";
return `<div class="modal-header">
<h5 class="modal-title bold" id="modal-title">Budget Constants for ${projectName}</h5>
</div>
<div class="modal-body" id="modal-body">
<p class="italic" ng-if="$ctrl.list.length == 0">Click <strong>Add New</strong> to add a budget constant</p>
<div class="container col-sm-12" ng-if="$ctrl.list.length>0">
<div class="row bold">
<div class="col-sm-5">Constant</div>
<div class="col-sm-5">Value</div>
<div class="col-sm-2"></div>
</div>
<div class="row" ng-repeat="obj in $ctrl.list">
<div class="col-sm-5">{{obj.name}}</div>
<div class="col-sm-4">{{obj.value}}</div>
<div class="col-sm-3">
<span class="ui-icon ui-icon-pencil" ng-click=$ctrl.edit(obj.name)></span>
<span class="ui-icon ui-icon-circle-close" ng-click=$ctrl.delete(obj.name) ></span>
</div>
</div>
</div>
</div>
<div class="center">__________________________</div>
<div class = "modal-footer" id="modal-footer">
<button class="btn btn-primary" type="button" ng-click="$ctrl.addNew()">Add new</button>
<button class="btn btn-warning" type="button" ng-click="$ctrl.cancel()">Cancel</button>
</div>`;
}
Chrome 开发人员工具的网络窗格似乎显示了在我的本地计算机上找不到的文件,但它显然在那里。我已将带有此 .png 文件的图像文件夹的副本放在其他目录中(与脚本相同的目录、public/images 等,但它似乎没有在那里查找。
我在google dev tools的网络面板中看到的唯一奇怪的是,这个.png文件的filetyhpe由于某种原因被标记为“text/html”,尽管文件名本身是正确的,并且文件具有正确的图像内容.
这是根目录的文件树:
使用图标的代码:
<div class="col-sm-3">
<span class="ui-icon u**i-icon-pencil"** ng-click=$ctrl.edit(obj.name)></span>
<span class="ui-icon ui-icon-circle-close" ng-click=$ctrl.delete(obj.name) ></span>
</div>
</div>
</div>
解决方案
我不确定这是应该做的方式,但我能够通过以下方式解决这个问题:a)创建一个子目录 assets/stylesheets/images 并将文件 ui-icons_444444_246x240.png 放入其中,然后修改应用程序。 css 包含指令
*= require_directory ./images
似乎有点像黑客,但至少它有效。
如果有人知道这应该怎么做,请指教。
推荐阅读
- angular - 在来自 http GET、Angular 6 的输入字段中显示对象
- sql - 如何禁用特定 Pervasive 用户帐户的存储过程查看权限?
- c# - 如何在 swagger 中修改关联数组、哈希或字典中的键以获取文档?
- python - 将查询参数添加到 URL
- python - 递增增加列表中的非零元素
- python - 使用 PIL 使文本大小自动调整为图像
- sql-server - SQL Server:不同表中列之间的关系
- javascript - 多次更改段落以匹配幻灯片中更改的图像
- php - magento 1.9.3.9 中损坏的模块块我如何调试问题
- machine-learning - 如何纠正来自外部环境的传感器漂移?