Ruby on Rails中Bootstrap导航栏Logo不显示问题求助
解决Rails项目Bootstrap导航栏Logo不显示问题
问题根源
你将logo.png放在了项目根目录,但Ruby on Rails的静态资源默认从app/assets/images等指定目录加载,根目录的文件不会被路由识别,因此出现No route matches [GET] "/logo.png"错误。
修复步骤
迁移Logo到正确目录
将logo.png从项目根目录移动到app/assets/images文件夹。如果该文件夹不存在,手动创建即可。修改视图中的图片引用
使用Rails提供的静态资源辅助方法,替换原有的硬编码路径:- 推荐使用
image_tag辅助方法:<a class="navbar-brand" href="#"> <%= image_tag 'logo.png', alt: 'Estrutecnia', width: 30, height: 24 %> </a> - 也可以用
asset_path手动生成正确路径:<a class="navbar-brand" href="#"> <img src="<%= asset_path 'logo.png' %>" alt="Estrutecnia" width="30" height="24"> </a>
- 推荐使用
重启开发服务器(必要时)
若修改后Logo仍不显示,重启Rails开发服务器,确保新的静态资源路径被正确加载。
内容的提问来源于stack exchange,提问作者Ivan Ordonez
相关产品推荐
相关产品推荐

