`

Agile Web Development with Rails 读书笔记 (一)

阅读更多
这本书看了一段时间,一直没有上手,今天刚才北京回来,新的项目需要提供一个原型,感觉比较适合ROR的开发方式,决定把《Agile Web Development with Rails》中的例子,走一遍,看一下开发的效果。

由于以前很少做WEB程序,做的也基本上是改,而且也很少使用MySql数据库,因此在调试的过程中,的确遇到了很多低级的错误,记录下来,提个醒吧,希望对大家有点帮助。

第1~5章

安装Ruby

下载地址:http://rubyinstaller.rubyforge.org

Mysql管理工具:ems sql manager 2005

下载和安装Ruby和MySql还是比较简单的,由于书中没有提到Mysql的一些管理,最好还是在Google上查看写资料,这样上手能更好一点。

在ROR中常用命令的需要注意的问题

大小写

ruby中所有的命令中,命令动词不区分大小写,但是参数则区分大小写

例如 Ruby –v和ruby –v都可以执行,但是ruby –V就不可以正确执行了。

显示Ruby的版本的命令

ruby –v

执行成功后屏幕显示如ruby 1.8.5 <2006-12-15 patchlevel 12> [i386-mswin32]

解释:ruby的版本为1.8.5 的mswin32版本

显示RubyGems版本

gem --version

显示为但前版本如0.9.2

RubyGems是一个方便而强大的Ruby程序包管理器( package manager),类似RedHat的RPM.它将一个Ruby应用程序打包到一个gem里,作为一个安装单元。

更新Rails

gem update rails

可以自动更新本地的Rails,并依次提示如下更新,需要用户确认

Activesupport
Activerecord
Actionpack
Actionmailer
Actionwebservice

更新Rails是很重要的,这个命令也很简单,程序的升级和维护也是十分方便的。

显示帮助

ruby –h
gem –help

创建应用程序

在命令行依次中执行

E:
CD Code
rails test

会在e:\Code目录中创建一个test目录,系统会在该目录中创建该应用程序的所有目录。

启动Webrick服务

进入到应用程序所在目录,执行ruby script/server即可。

例如:

E:\
CD code
CD Test
ruby script/server

正常执行后会有如下显示
=> Booting WEBrick...
=> Rails application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options
[2007-03-13 11:08:52] INFO  WEBrick 1.3.1
[2007-03-13 11:08:52] INFO  ruby 1.8.5 (2006-12-25) [i386-mswin32]
[2007-03-13 11:08:52] INFO  WEBrick::HTTPServer#start: pid=3232 port=3000
表示服务已经正常运行。

终止服务在CMD窗口执行 Ctrl-C即可。

创建一个控制器


ruby script/generate controller 控制器名称
例如 ruby script/generate controller Say
http://localhost:3000/
该地址会列出关于Ruby的一些文档和帮助

语法举例

编写action

class SayController < ApplicationController
  def hello
  @time=Time.now
end
end
RHTML-动起来
<html>
  <head>
    <title>Hello,Rails!</title>
  </head>
  <body>
    <h1>Hello from Rails!</h1>
    <li>Addition:<%= 1+2 %></li>
    <li>Concatenation:<%= "cow"+"boy" %></li>
    <li>Time in one hour:<%= 1.hour.from_now %></li>
    <% 3.times do %>
      Ho!<br/>
    <% end %>
    <% 3.downto(1) do |count| %>
       <%= count %>   <br/>
    <% end %>
    EMail=<%= h("Ann & Bill <frazers@isp.email>") %>
    </br>
    It is now <%= Time.now() %>
  </body>
<html>

有意思的是数字1也是对象,存在很多的属性和方法。

另外< > 要紧跟着 %,否则系统会认为是错误的。

另外%也要紧跟着=号,否则也会报错。

链接到另外的网页
<%= link_to "hello", :action => "hello" %>
第一个参数指向超链接文本,第2个参数告诉Rails如何生成超链接
:Action是Ruby的一个符号

常见问题
RHTML中文乱码

RHTML和RB文件应该保存成UTF-8的格式,否则中文显示为乱码,下边为网上的一些解决办法,我试验了一下反而觉得不好用。

(转)
Ruby on Rails 学习:解决中文乱码问题
初学Rails,简单的做了一个例子,发现存在中文问题。
大致中文问题归类如下:
1、页面无法显示中文,产生中文乱码
2、Mysql数据库采用utf8后,页面采用utf8,数据库保存是乱码,但页面显示正常。
3、时间格式在页面上的中文显示产生乱码。
打开:application.rb:修改代码如下显示:
1 class ApplicationController < ActionController::Base
2 before_filter :set_charset
3 def set_charset
4 @headers["Content-Type"] = "text/html; charset=utf-8"
5 end
6 end
同时对页面(*.rhtml)上进行增加编码控制:
<meta http-equiv="Content-type" content="text/rhtml; charset=utf8" />
同时在保存页面时,进行编码转换成utf8格式。
做完以上工作的话,利用mysql数据库客户端工具Navicat查看数据库,你会发现数据库中保存的中文数据会出现乱码,因此需要进一步处理:
1、建数据库时采用utf8编码进行建库,同时建表或者导表时要注意采用utf8编码。
2、采用Navicat连接数据库时在Advanced Settings中选择Encoding编码为utf8,同时取消Use MySQL character set的默认选项,再进行连接。
进行以上设置,将会在数据库中显示出正常的中文。同时页面上显示也会是中文,但你会发现对于时间的显示上仍然存在一些小问题。因此在输出时间时需要进行(original_date.strftime("%Y/%m/%d"))转换格式。

第6章

MySql

启动Mysql命令
Mysqld

安装Mysql为服务
Mysqld-nt –install 安装
Mysqld-nt –remove 卸载

执行MySql脚本

mysql -h 服务器  -u  用户 -p密码 <sql脚本

数据库脚本
CreateDatabase
create database depot_development;
create database depot_test;
create database depot_production;
grant all on depot_development.* to 'test'@'localhost';
grant all on depot_test.* to 'test'@'localhost';
grant all on depot_production.* to 'prod'@'localhost' identified by 'mysql';
CreateTable
drop table if exists products;
create table products(
id                  int                             not null auto_increment ,
title               varchar(100)              not null,
description      text                           not null,
img_url           varchar(200)              not null,
price              decimal(10,2)            not null,
primary key (id)
);

这个是书中的脚本,觉得有点问题,大家试试看吧。

配置数据库

修改config/database.yml文件内容

development:
  adapter: mysql
  database: depot_development
  username: root
  password: mysql
  host: localhost

test:
  adapter: mysql
  database: depot_test
  username: root
  password: mysql
  host: localhost

production:
  adapter: mysql
  database: depot_production
  username: root
  password: mysql
  host: localhost

在调试的过程中,总是说/usr/lib/ruby/1.8/yaml.rb:133:in `load': syntax error on line 16, col 2:这个错误,经过Google后才知道,所有的:后边必须有一个空格,否则就报错,真是晕。

创建脚手架

ruby script/generate scaffold Product  Admin

Product代表模型名称,采用大小写混合的方式
Adimin代表控制器名称,采用大小写混合的方式


这些就是今天的试验了,总算弄出来,例子中的真确界面,程序也是正确执行了,感觉上手还是比较快的,在使用中发现的问题在网络上基本上都可以查到,耽误时间的地方主要是因为不熟悉ROR和MySqL上面了,还有就是ROR的一些默认配置文件中的空格问题,刚开始的时候地区很蒙,呵呵,剩下等更加详细的使用了,到此第6章,还是没有完,差一点,明天来。
分享到:
评论

相关推荐

    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

    《Agile Web Development with Rails》(敏捷Web开发:Ruby on Rails)这本书,作为Rails开发新手的教材,强调了敏捷开发方法,并以其帮助开发者建立起一个实用的Web应用。从给出的文件信息来看,这本书正在编写过程...

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

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

    agile web development with rails 5(英文电子书)

    agile web development with rails 5(英文电子书).............................................................................................................................................................

    Agile Web Development with Rails (PDF)

    《敏捷Web开发与Rails》是一本深度探讨如何利用Ruby on Rails框架进行敏捷Web开发的指导书籍,由Dave Thomas、David Heinemeier Hansson等多位在Rails社区有着深厚贡献的作者共同编写。本书不仅覆盖了Rails的基本...

    Agile Web Development with Rails 3nd Edition Beta.pdf

    通过上述分析,我们可以看到,《敏捷Web开发与Rails》第三版不仅是一本关于Rails框架的技术书籍,更是一部指导开发者如何运用敏捷方法论进行Web开发的经典之作。无论对于初学者还是经验丰富的开发者而言,本书都具有...

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

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

    Agile Web Development with Rails,Fourth Edition 第四版

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

    Agile Web Development With Ruby On Rails第一及第二版

    《Agile Web Development With Ruby On Rails》是两本广受欢迎的书籍,主要涵盖了使用Ruby on Rails框架进行敏捷Web开发的知识。这本书的第1版和第2版分别详细讲解了如何运用敏捷开发方法来构建高效、可扩展且易于...

    Pragmatic - Agile Web Development with Rails

    总之,《Pragmatic - Agile Web Development with Rails》是一本全面而深入的教程,适合想要踏入Ruby on Rails开发领域的初学者。通过阅读和实践,读者不仅能掌握Ruby语言和Rails框架的基本用法,还能了解敏捷开发的...

    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 for Rails 3.2

    ### Agile Web Development with Rails for Rails 3.2 #### 核心知识点概览 - **Rails 3.2概述** - **敏捷开发方法论** - **Model-View-Controller (MVC) 模式** - **Ruby on Rails基础与高级特性** - **面向对象...

    Agile Web Development with Rails 4th(正式版).pdf

    Agile Web Development with Rails 4th(正式版).pdf

    Agile Web Development With Rails Fourth Edition

    《Agile Web Development with Rails》第四版是一本经典的Rails开发指南,旨在为开发者提供一套全面、实用且高效的敏捷开发方法论。本书由Sam Ruby、Dave Thomas、David Heinemeier Hansson等人共同撰写,并得到了...

Global site tag (gtag.js) - Google Analytics