0

我刚刚开始了 Michael Hartl 编写的 Ruby on Rails 教程的第 5 课:填充布局添加一些结构

虽然我的更改自第 3 课后期以来一直没有呈现。当我在任何页面(home.html.erb、about.html.erb 等)中进行更改时,我没有任何问题。但是诸如登录和标题之类的内容不会改变。

应用程序.html.erb

<!DOCTYPE html>
<html>
  <head>
    <title><%= full_title(yield(:title)) %></title>
    <%= stylesheet_link_tag "application", media: "all",
                                           "data-turbolinks-track" => true %>
    <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
    <%= csrf_meta_tags %>
    <!--[if lt IE 9]>
    <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
  </head>
  <body>
    <header class="navbar navbar-fixed-top navbar-inverse">
      <div class="navbar-inner">
        <div class="container">
          <%= link_to "sample app", '#', id: "logo" %>
          <nav>
            <ul class="nav pull-right">
              <li><%= link_to "Home",    '#' %></li>
              <li><%= link_to "Help",    '#' %></li>
              <li><%= link_to "Sign in", '#' %></li>
            </ul>
          </nav>
        </div>
      </div>
    </header>
    <section>
      <%= yield %>
    </section>
  </body>
</html>

路线.rb

SampleApp::Application.routes.draw do
  get "pages/home"
  get "pages/contact"
  get "pages/about"
end

主页.html.erb

<h1>Sample App</h1>
<p>This is the home page for the <a href="http://railstutorial.org">Ruby on Rails Tutorial</a> sample application.</p>

同样,我的页面只是呈现了它在第三章中所做的,没有样式表,没有更改导航栏,并且标题不正确(localhost:3000/pages/home)而不是 Ruby on Rails 示例应用程序。

4

1 回答 1

0

您正在使用的那些类 navbar、navbar-fixed-top 不存在 css,它们是 twitter bootstrap 2.3.2 的一部分,它是 css 类和 javascript 函数的集合。因此,要使此代码正常工作,首先在 Railsproject/app/assets/stylesheets/ 目录中包含 bootstrap.css 文件。您可以在此处下载引导编译文件http://getbootstrap.com/2.3.2/ 注意:bootstrap.css 位于 bootstrap-2.3.2/dist/css/ 目录中。只需复制该文件,一切都会正常工作。

您的 application.html.erb 语法有误。

不要使用标签来定义导航类,而是使用标签。所以正确的语法是:

<nav class="navbar navbar-fixed-top navbar-inverse">
  <div class="navbar-inner">
    <div class="container">
      <%= link_to "sample app", '#', id: "logo" %>
      <nav>
        <ul class="nav pull-right">
          <li><%= link_to "Home",    '#' %></li>
          <li><%= link_to "Help",    '#' %></li>
          <li><%= link_to "Sign in", '#' %></li>
        </ul>
      </nav>
    </div>
  </div>
</nav>

我认为这应该可以解决问题。

于 2013-09-26T18:10:01.877 回答