You need to enable JavaScript to run this app. Devise登录相关页面无法加载Bootstrap样式表返回404错误如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Devise登录相关页面无法加载Bootstrap样式表返回404错误如何解决

问题原因

你使用了相对路径引用静态资源,资源路径会自动和当前页面的URL路径拼接:

  • 普通页面大多在站点根路径下(比如http://127.0.0.1:3001/),拼接后路径为http://127.0.0.1:3001/landing page template/xxx.css,和你存放静态文件的路径匹配,因此可以正常加载
  • Devise相关页面的URL路径前缀为/users/(比如用户编辑页路径是http://127.0.0.1:3001/users/edit),拼接后路径就变成报错信息里的http://127.0.0.1:3001/users/landing page template/xxx.css,该路径不存在,因此返回404错误。

解决方法

把所有静态资源引用的路径开头添加/,改成根路径绝对路径即可,示例如下:
原有写法:

<link href="landing page template/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<script src="landing page template/vendor/jquery/jquery.min.js"></script>

修改后写法:

<link href="/landing page template/vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<script src="/landing page template/vendor/jquery/jquery.min.js"></script>

所有样式、脚本的引用路径都按上述规则修改即可生效。
如果你的静态资源存放在Rails默认的public目录下,以上修改直接生效;如果存放在app/assets目录下,更推荐使用Rails自带的stylesheet_link_tag、javascript_include_tag辅助方法引入资源,从根本上避免路径匹配问题。

内容的提问来源于stack exchange,提问作者Michael Caneff

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 20:15:07