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

Ruby on Rails安装Bootstrap后静态页面HTML内容无法显示求助

解决Rails静态页面内容不显示的问题

嘿,我来帮你搞定这个问题!你遇到的静态页面内容不显示的情况,主要是两个关键的小错误导致的,咱们一步步来修正:

1. 布局文件没给视图留“渲染位置”

你的application.html.erb作为全局布局,漏掉了Rails最核心的<%= yield %>标记!这个标记的作用就是告诉Rails:“把当前访问页面的视图内容插到这里”。没有它的话,Rails根本不知道该把你的静态页面内容放在哪里,所以只会显示布局里的头部导航。

另外我还发现你header标签里有个小语法错误:id: "nav"是Ruby的写法,在HTML标签里应该写成id="nav",不然浏览器解析会出问题。

修正后的application.html.erb代码:

<!DOCTYPE html>
<html>
<head>
<Title>Real Life Magic Make-Believe</Title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
</head>
<body>
<header class="navbar navbar-fixed-top navbar-inverse" id="nav">
<div class="container">
<%= link_to "REAL LIFE MAGIC MAKE-BELIEVE", root_path, id: "logo" %>
<nav>
<ul class="nav navbar-nav navbar-right">
<li><%= link_to "Home", root_path, id: "l1" %></li>
<li><%= link_to "About", about_path, id: "l1"%></li>
<li><%= link_to "Contact Us", contact_path, id: "l1"%></li>
</ul>
</nav>
</div>
</header>
<%= yield %> <!-- 新增这行,视图内容会被插到这里 -->
</body>
</html>

2. 静态页面视图的结构太“冗余”

你的静态页面里写了<!DOCTYPE html>和<body>标签,但这些内容已经在application.html.erb布局里存在了!重复写这些标签会让HTML结构混乱,浏览器根本没法正确渲染你的内容。

修正后的静态页面代码(比如home.html.erb):

<div class="center jumbotron">
  <h1>REAL LIFE MAGIC MAKE-BELIEVE</h1>
  <p> Welcome to the home page </p>
</div>

只需要保留你想展示的核心内容就行,Rails会自动把这部分内容插入到布局的<%= yield %>位置。

最后做个小验证

  • 保存好修改后的布局和视图文件
  • 重启你的Rails服务器(确保所有变更都生效)
  • 打开浏览器访问首页,这时候应该就能看到头部导航加上静态页面的内容啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:29:30