`
tiny.strimp
  • 浏览: 30468 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Agile Web Development with Rails 3nd Edition学习笔记-创建页面布局模板

阅读更多
典型的网站一般都具有一致的布局,ASP.NET中使用TemplatePage就提供了一个做到这件事的途径。它使得每个页面都在一个确定的页面框架中显示。那么,Rails中能否做到,又是如何做到这一点的呢?
这一节的内容就要说明这个问题。
在Rails中,每一个Controller都可以有一个与之对应的Layout文件,这个文件保存在app/views/layouts目录中。我们就可以通过这个Layout文件来做到这一点。
首先,我们为store来创建一个Layout文件。名字是store.html.erb,并把它保存到app/views/layouts目录下。并在该文件中添加如下代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
  <title>Pragprog Books Online Store</title>
<!-- START:stylesheet -->
  <%= stylesheet_link_tag "depot", :media => "all" %>
<!-- END:stylesheet -->
</head>
<body id="store">
  <div id="banner">
    <%= image_tag("logo.png") %>
    <%= @page_title || "Pragmatic Bookshelf" %>
  </div>
  <div id="columns">
    <div id="side">
      <a href="http://www....">Home</a><br />
      <a href="http://www..../faq">Questions</a><br />
      <a href="http://www..../news">News</a><br />
      <a href="http://www..../contact">Contact</a><br />
    </div>
    <div id="main">
      <%= yield :layout %>
    </div>
  </div>
</body>
</html>

这个文件将被store的每一个页面所使用。
该文件中,第7行的代码加载了我们的样式表文件depot.css。(但是:media => all)是什么意思呢?
第13行使用“Pragmatic Bookshelf”作为@page_title的值,显示在页面标题部分。(但是他们之间的“||”是什么意思呢?)
第23行实际上是要显示我们的页面内容的位置,yield执行时将会把实际的页面加载到这里。(这里的:layout的作用是什么呢?)

接下来,我们需要定义这个模板页面的样式表。我们可以把下面的内容添加到我们depot.css文件中:
#ba nner {
  background: #9c9 ;
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 2px solid;
  font: small-caps 40px/40px "Times New Roman", serif;
  color: #282 ;
  text-align: center;
}
#ba nner img {
  float: left;
}
#c olumns {
  background: #141 ;
}
#main {
  margin-left: 13em;
  padding-top: 4ex;
  padding-left: 2em;
  background: white;
}
#side {
  float: left;
  padding-top: 1em;
  padding-left: 1em;
  padding-bottom: 1em;
  width: 12em;
  background: #141 ;
}
#side a {
  color: #bfb ;
  font-size: small;
}


好了,我们现在可以看看我们添加模板页面之后的效果了。同样在启动服务器之后,在浏览器的地址栏中输入“http://localhost:3000/store”来显示store的index页面。结果如下图:

怎么样是不是和上一篇中做到效果有了很大的变化。哈哈!
  • 大小: 226.2 KB
分享到:
评论

相关推荐

    Agile Web Development with Rails, 2nd Edition

    Agile Web Development with Rails, 2nd Edition &lt;br&gt;有两份PDF文件,大小分别是7.39MB和6.55MB &lt;br&gt;作者: Dave Thomas , David Heinemeier Hansson , Leon Breedt , Mike Clark , James Duncan Davidson ,...

    Agile Web Development with Rails 3nd Edition Beta.pdf

    ### 敏捷Web开发与Rails 3:关键知识点解析 #### 一、Rails版本与兼容性 本书《敏捷Web开发与Rails》第三版是基于Rails 2编写的。截至本书印刷时,当前可用的Rails Gem版本为2.1。书中所包含的所有代码均已在该...

    Agile Web Development with Rails 3nd Edition Beta

    文件列表中的《Agile Web Development with Rails 3nd Edition Beta.pdf》很可能是这本书的电子版,读者可以通过阅读此PDF文件获取完整的学习资料,包括详细的章节讲解、示例代码和练习题,以便在实践中不断巩固和...

    Agile+Web+Development+with+Rails中文版.pdf

    《Agile Web Development with Rails》是一本经典的Rails开发指南,中文版的出版使得更多的中国开发者能够深入理解并应用敏捷开发方法与Ruby on Rails框架。这本书是Rails开发者的必备参考资料,它详细介绍了如何...

    Agile Web Development with Rails 4

    Ruby on Rails helps you produce high-quality, beautiful-looking web applications quickly. You concentrate on creating the application, and Rails takes care of the details., Tens of thousands of ...

    Agile Web Development with Rails 3nd Edition .pdf

    Rails敏捷开发第三版,很不错的rails入门书,对初学rails的人很有用

    Agile Web Development with Rails,Fourth Edition 第四版

    《敏捷Web开发与Rails》第四版是一本专为软件开发者设计的权威指南,全面涵盖了使用Ruby on Rails框架进行敏捷Web应用开发的知识。Rails 3是该版本的重点,它引入了许多新特性和改进,使得开发过程更为高效且灵活。...

    Agile Web Development with Rails-Second Edition-Beta一书例子

    《Agile Web Development with Rails-Second Edition-Beta》是一本专注于使用Ruby on Rails进行敏捷Web开发的书籍。这本书的第二版beta版提供了关于如何利用Rails框架高效构建动态、响应式网站的深入指导。作者们...

    Agile Web Development with Rails

    书中的"Pragmatic.Bookshelf.Agile.Web.Development.with.Rails.2nd.Edition.Dec.2006.eBook-BBL"可能是该书籍的电子版文件,它包含了全书的章节和内容。读者可以通过这个电子版深入学习Rails开发的各种技巧和最佳...

    Agile Web Development with Rails 4th edition(敏捷Web开发与Rails:程序指南 第四版)

    《敏捷Web开发与Rails:程序指南 第四版》是一本深度探讨使用Ruby on Rails框架进行敏捷Web应用开发的专业书籍。本书旨在帮助开发者充分利用Rails 4的特性,提高开发效率,实现快速迭代和高质量的代码编写。 Rails是...

    Agile Web Development with Rails 1-14节_ppt(老师发的修正版)

    Agile Web Development with Rails 1-14节_ppt(老师发的修正版)

    Agile Web Development with Rails, Third Edition 2009 (PDF + 代码)

    Agile Web Development with Rails, Third Edition by Sam Ruby, Dave Thomas, David Heinemeier Hansson Rails just keeps on changing. Rails 2, released in 2008, brings hundreds of improvements, including...

    Agile Web Development with Rails 2nd Edition源码

    《敏捷Web开发与Rails 2nd Edition》源码解析 在Web开发领域,Rails框架以其高效、灵活和生产力提升的特点,成为了许多开发者首选的工具。《敏捷Web开发与Rails 2nd Edition》这本书深入浅出地介绍了如何使用Ruby ...

    Agile Web Development with Rails (PDF)

    ActionPack使得开发者能够轻松地创建和管理Web页面,实现动态内容的生成。 #### 5. 安装与配置 书中详细介绍了如何在不同操作系统(如Windows、Mac OS X和Unix/Linux)上安装和配置Rails环境,以及如何连接各种...

Global site tag (gtag.js) - Google Analytics