《Agile Web Development with Rails》读书笔记(三)

原创 2007年09月19日 17:13:00

Make Dynamic Pages

In order to get dynamic pages, I need to embed some ruby code into the *.rhtml in views.

First, I introduce some symbols in *.rhtml.

<%= %> : content between <%= %> is interpreted as ruby code and executed. The result of that execution is converted into a string, and that value is substituted into the file in place of the <%= %> sequence.

<% %> : mostly the same as <%= %>, except the result did not display—never converted into a string and never substituted into the file.

<%= -%> : tell rails to remove any new line that follows from the output.

h( ) : prevent the special characters from grabling the browser display—they’ll escape as html entities.

Now, we create a page to display the current time when you refresh the page.

In order to accord with the spirit of MVC, first we save the current time in a variable in the controller’s method, then we use the variable to display the current time in views.


class SayController > ApplicationController

   def hello

      @time = Time.now






      <title>Hello, Rails!</title>



      <h1>Hello from Rails!</h1>


      It is now <%= @time %>




Save this file, you’ll see the current time when you refresh the page.

Our story illustrates convention over configuration, one of the fundamental parts of the philosophy of Rails.


Link Pages Together

There are two way to link pages together.

<a href =  “/say/goodbye”>Goodbye</a>

Rails use a convention to parse the URL into a target controller and an action within that controller. Here say is controller, goodbye is the action in say.

Flaw: the hyperlink path is relative, if we move the application to a different place on the web server, the URL would no longer be valid.


:action : Ruby symbol, you can think of the colon as meaning the thing named…, so :action means the thing named action, the => “goodbye” associate the string goodbye with the name action.

Agile Web Development with Rails第六章笔记——任务A:创建应用程序

看书效率比较低,很容易忘记前面的内容,从这章开始写读书笔记。希望可以早日上手Rails 本章的主要任务是以增量式开发的方式创建应用程序Depot(任务A)。 迭代A1:创建商品维护的应用程序 创...
  • lissdy
  • lissdy
  • 2013年05月17日 12:07
  • 1120

Agile Web Development with Rails第九章笔记——任务D:创建购物车

本章内容: 会话和会话管理添加模型间的关系创建一个按钮,可添加产品到购物车中 迭代D1:寻找购物车 将购物车放在数据库中,并在会话中存储该购物车的唯一标识符,cart.id。每当请求出现...
  • lissdy
  • lissdy
  • 2013年05月23日 10:18
  • 1934

Agile Web Development with Rails第八章笔记——任务C:商品目录显示

接下来的任务是——创建简单的商品目录显示网页。 迭代C1:创建商品目录清单 1、创建控制器store 前面已经通过脚手架创建了商品控制器,卖家可以用它来管理Depot应用程序。现在创建第二个控制...
  • lissdy
  • lissdy
  • 2013年05月20日 13:52
  • 987

Agile Web Development with Rails第十二章笔记——任务G:付款

如标题所示,这一章的主要目的就是完成付款功能,整个任务由以下几个模块迭代完成。 迭代G1:获取订单 订单是商品项目及其购买交易的细节的集合,为了存储购买交易的细节,下面我们需要创建表orders。...
  • lissdy
  • lissdy
  • 2013年06月10日 17:50
  • 1208

Agile Web Development with Rails第七章笔记——任务B:验证

在第六章的基础上,这一章的任务是使应用程序变得更加坚固——以确保数据中发生的错误永远都不会提交给数据库。 迭代B:验证 目标: 1、字段的标题、描述以及图像的URL不是空的 2、价格是一个有效...
  • lissdy
  • lissdy
  • 2013年05月19日 13:04
  • 858

Ruby on rails 实战圣经:Part 2: 深度剖析环境设定与Bundler

Complication is WhatHappens When You Try to Solve a Problem You Don’t Understand - Andy Boothe目录结构这一...
  • felomeng
  • felomeng
  • 2013年11月21日 21:35
  • 9708

Agile Web Development with Rails第十一章笔记——任务F:Ajax初体验

本章内容: 使用局部模版呈现页面布局利用Ajax和RJS动态更新页面利用Script.aculo.us高亮变化隐藏和显示DOM元素测试Ajax更新 本章目标: 为购物车添加Ajax,...
  • lissdy
  • lissdy
  • 2013年06月06日 11:01
  • 1698

Agile Web Development with Rails第十章笔记——任务E:更智能的购物车

本章内容: 修改数据库模式与现有数据诊断和处理错误闪存日志 迭代E1:创建更智能的购物车 问题提出:保存与显示购物车中同一产品的数量 解决方案:修改line_items表,添加描述...
  • lissdy
  • lissdy
  • 2013年06月03日 16:43
  • 1192

Ruby on rails 实战圣经:数据库迁移 - Migrations

Programmingtoday is a race between software engineers striving to build bigger and betteridiot-pro...
  • felomeng
  • felomeng
  • 2014年03月12日 22:16
  • 19022

Rails Web应用开发实战-学生选课系统基础版(二)

Rails Web应用开发实战-学生选课系统基础版(二)在上一篇教程中,我们在Cloud9中跑通了整个演示代码,下面我们将从零建立一个新的Rails应用。在我们写代码之前,我们先看看Rails框架的结...
  • ppp8300885
  • ppp8300885
  • 2016年09月21日 15:26
  • 2582
您举报文章:《Agile Web Development with Rails》读书笔记(三)