You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails 7.0中Bootstrap Icons使用问题:图标显示异常及ActionController::RoutingError求助

解决Rails 7中Bootstrap Icons显示异常及路由错误问题

你遇到的问题核心是Bootstrap Icons的字体文件路径没被正确处理,导致浏览器找不到字体资源,既显示不出图标还触发了路由错误。我给你两个实用的解决办法:

办法一:手动复制字体文件(简单直接)

Bootstrap Icons的字体文件存放在node_modules/bootstrap-icons/font/目录下,你只需要把里面的bootstrap-icons.woff2和bootstrap-icons.woff这两个文件,复制到Rails项目的public/fonts/目录里(如果fonts文件夹不存在就新建一个)。这样浏览器请求/fonts/路径下的字体文件时,就能直接找到对应的资源了。

办法二:修改CSS变量,规范处理路径(更符合Rails资源管理逻辑)

在你的app/assets/stylesheets/application.bootstrap.scss文件里,先设置Bootstrap Icons的字体路径变量,再引入图标样式,这样编译后的CSS会自动指向正确的资源位置:

@import 'bootstrap/scss/bootstrap';
// 提前设置字体路径变量,指向node_modules中的图标字体目录
$bootstrap-icons-font-path: "bootstrap-icons/font/";
@import 'bootstrap-icons/font/bootstrap-icons';
@import 'custom';

完成上面的操作后,记得重启bin/dev让资源重新编译,再刷新页面就能看到正常显示的图标了,路由错误也会消失。

补充说明:Rails 7用cssbundling-rails处理CSS资源,它会把npm包中的资源编译后放到public/assets目录下,通过设置变量的方式能让路径自动适配Rails的资源管理规则,比手动复制更适合长期维护。

内容的提问来源于stack exchange,提问作者Junichi Ito

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 06:44:39