- 博客(62)
- 资源 (2)
- 收藏
- 关注
原创 ruby的类方法与实例方法
类方法也叫静态方法,通过类名来调用的方法。实例方法,必须要new一个实例出来才能用。class Foo def self.bar puts 'class method'
2011-08-08 15:14:27
1275
1
原创 ruby的include与extend
ruby提供了强大的继承机制,有关继承的方法很多。最简单就是“module Foo deffoo puts 'heyyyyoooo!'
2011-08-08 15:13:54
410
原创 合并排序
具体原理可看这里javascript版本:function merge(left, right){ varresult = []; while(left.lengt
2011-08-08 15:12:56
265
原创 Ruby on rails开发从头来(windows)(六)-美化你的列表页面
在上一篇随笔中,我们给Products的创建页面添加了输入验证,今次的内容非常简单,来稍稍美化下Products的列表页面。 1. 打开app\views\admin\list.rhtml文件,可以看到下面的代码Listing products
2011-08-08 15:10:26
380
原创 Ruby on rails开发从头来(windows)(五)-对输入进行验证
在上一篇随笔中,我们完成了对一个表Product的添删查改的操作,你一定注意到了,我们还没有添加任何验证,例如Price,我们可以随意输入任何字符,而不会有错误提示。这次,我们就来看看怎样添加验证输入功能。 1. 打开depot\app\models目录下的
2011-08-08 15:09:36
311
原创 Ruby on rails开发从头来(windows)(四)-第一个添删查改例子
在上一篇Ruby on rails开发从头来(windows)(三)-实现页面间的跳转中,我们创建了两个页面来进行跳转迁移,这次我们来写一个单表维护的添删查改的例子。 1. 这次我们重新创建一个项目depot,按照上篇中的步骤,创建depot项目。2.
2011-08-08 15:08:35
452
原创 Ruby on rails开发从头来(windows)(三)-实现页面间的跳转
在上篇随笔Ruby on rails开发从头来(windows)(二)-创建项目和第一个Hello world 中,我们介绍了如何使用InstantRails创建一个项目和编写一个简单的Helloworld页面,今天在上次的基础上,写一个简单的页面跳转。1. 将
2011-08-08 15:05:54
425
原创 Ruby on rails开发从头来(windows)(二)-创建项目和第一个Hello world
在前面的“使用InstantRaisl快速搭建Ruby on rails环境”后,这一次说说如何创建自己的项目,并写一个最简单的Hello页面,例子是借用Agile Web Development with Rails中的。按照下面的步骤:1. 使用菜单,如
2011-08-08 15:04:41
398
原创 Ruby on rails开发从头来(windows)(一)-使用InstantRails快速搭建Ruby On Rails开发环境
一直对Ruby on Rails抱有很大的兴趣,想看看这个被很多人称道的东西,但是一直在做windows下的开发,对于Ruby on Rails的开发环境搭建还是很头疼,这也是一直没有开始研究Ruby on rails的原因。刚刚在javaeye看到了InstantRails
2011-08-08 15:02:47
327
原创 Ruby on rails开发从头来(windows)(七)-创建在线购物页面
在上一篇随笔中,我们为Products创建了一个维护用的列表页面,效果如图: 这次我们使用上面维护的Products列表来创建一个最终用户使用的购物页面。 1. 创建控制器(Controller),命名为store,我们通过命令行来创建它:
2011-08-08 14:57:43
381
原创 Ruby on rails开发从头来(windows)(八)-使用Session创建购物车
在前面的内容里,我们演示了怎样构建一个商品的列表,这次,我们在前面内容的基础上,构建一个简单的购物车。 1. 首先我们要来创建一个保存客户购物信息的表:数据库脚本:drop table if exists line_items;create t
2011-08-08 14:54:36
397
原创 Ruby on rails开发从头来(windows)(九)-给购物车添加错误处理
在上次的内容里,我们演示了怎样构建一个简单的购物车,这次的内容非常简单,给购物车添加错误处理。 对于Web系统来说,并发处理是一个无法回避的问题,我们来模仿一个并发冲突的情景:1. 用户进入购物车页面,看到共有5种商品。2. 管理员
2011-08-08 14:53:51
297
原创 Ruby on rails开发从头来(windows)(十)-清空购物车和格式化金额
在上次的内容里,我们给购物车添加了错误处理,这次来实现清空购物车和金额的格式化处理。 到现在我们还没有给显示购物信息列表页面的“empty cart”链接添加任何处理。我们首先来实现这个功能:1. 在Store_Control.rb文件中添加empty_c
2011-08-08 14:53:06
301
原创 Ruby on rails开发从头来(windows)(十一)-订单(Order)
在上次的内容里,我们实现了清空购物车和金额的格式化处理。这次实现订单的模块。 1. 首先,我们要在数据库里创建Order表,创建表的Sql如下:create table orders (id int not null auto_increment,
2011-08-08 14:52:22
277
原创 Ruby on rails开发从头来(windows)(十二)-订单(Order)
在上次的内容里,我们创建了订单的Model,和表示页面,这次继续编写CHECKOUT的处理。 1. 在checkout.rhtml的页面上,有一个CHECKOUT按钮,上次还没有给它编写处理代码,现在在store_controller中添加save_order
2011-08-08 14:51:31
294
原创 Ruby on rails开发从头来(windows)(十三)-订单(Order)
在上次的内容里,我们编写了CHECKOUT的处理。这次我们将显示购物车和订单放在一个页面上表示,这样用户在下订单的时候就可以很方便地看到自己的购物情况。 1. 修改checkout.rhtml文件,只要添加一句代码: "display_cart")
2011-08-08 14:50:39
254
原创 Ruby on rails开发从头来(windows)(十四)-送货处理
在上次的内容里,我们完成了订单的编写。这次我们模拟一个简单的送货页面,给这个购物车的管理员用。 1. 首先,我们修改order表,给他添加一个字段shipped_at:create table orders (id int not null aut
2011-08-08 14:49:47
373
原创 Ruby on rails开发从头来(windows)(十五)-添加用户
从这篇开始,我们来实现一组用户管理的功能,首先是添加用户。 1. 首先,我们要创建一个表保存用户信息,并且生成一个对应的model。创建表的脚本,在phpAdmin里执行就可以了:create table users (id int not n
2011-08-08 14:48:40
335
原创 Ruby on rails开发从头来(windows)(十六)-登录
现在我们的购物车程序为两种用户提供了服务,一类是普通用户,一类是管理员。两类用户分别有不同的功能。上次我们又实现了添加用户的功能,这次我们来实现登录的功能。 1. 给login_controller添加login方法。上次使用rails的命令行生成的l
2011-08-08 14:47:17
330
原创 Ruby on rails开发从头来(windows)(十七)-控制访问权限
上次我们实现了登录的页面,现在我们区别管理员和普通用户,根据用户的不同身份,转入到不同的页面 在rails中提供了filter来截获访问某个action的请求,可以用filter在action被调用前或调用后添加我们自己的处理。在这里,我们在admin的contr
2011-08-08 14:46:03
304
原创 Ruby on rails开发从头来(windows)(十八)-自动生成文档
到此,我们这个购物车的实现就完成了,下面我们可以利用ruby里的Rdoc来给我们的程序生成文档,和dotnet,java,python等一样,Rdoc可以把我们代码里类和方法声明前面的注释提取出来生成文档。 对于我们的depot程序,我们在rails的命令行里运行rake
2011-08-08 14:44:00
311
原创 Ruby on rails开发从头来(windows)(十九)-测试开始
前面我们已经完成了一个简单的购物车,从这篇开始我们看看在rails中怎样进行测试。 在我们创建购物车程序的时候在我们的depot目录下,就已经有一个test目录了,这就是为我们进行测试准备的。到目前为止,我们看到里面的fixtrues和functional,unit目录中
2011-08-08 14:43:14
307
原创 Ruby on rails开发从头来(windows)(二十)-测试model(CRUD)
上篇随笔简单了解了rails的测试和测试用数据的使用,这次来看看怎样对一个model进行添删查改的测试。 1. 还是使用上次写的products_test.rb,修改test_turth方法的名字为test_create,并且使其内容为: def tes
2011-08-08 14:42:49
431
原创 Ruby on rails开发从头来(windows)(二十一)-测试Model时的问题
以前的随笔都是按照书上的例子写下来的,但是,这次在测试Model时,按照书上的例子代码怎么也走不通,所以就换个方式,这篇变成了提问。 按照书上的说法,在products_test.rb开始的时候,会根据定义的yml文件,加载测试数据到一个Hash里,这样,在test的时候我们
2011-08-08 14:42:17
239
原创 Ruby on rails开发从头来(windows)(二十二)-测试Controller
上次测试Modeul的问题还没有解决,但是下面的还要继续,这次来测试Controller。1. 在test\functional目录下,rails已经为我们的controller生成了对应的测试文件,要注意application_controller不会生成测试文
2011-08-08 14:41:45
282
原创 Ruby on rails开发从头来(windows)(二十三)-功能测试的约定
上篇随笔里测试了login_controller,我们使用了很多rails内建的断言和get,put等方法来进行测试。这次来看看rails在功能测试方面的一些约定。1. HTTP请求的方法(HTTP request method)下面的方法用来模拟HTTP请求
2011-08-08 14:41:18
210
原创 Ruby on rails开发从头来(windows)(二十四)-测试Controller
上篇随笔里介绍了rails在功能测试方面的一些约定。这次我们继续会到Controller的测试。之前我们测试的是login,可以相见,用户在login以后就要开始进行购物的动作了,所以我们现在就来测试store_controller,我们先来测试index方法。1.
2011-08-08 14:41:00
297
原创 Ruby on rails开发从头来(windows)(二十五)-测试Controller
这次我们继续测试Controller,还是Store_controller。1. 先来测试测试CheckOut功能,给store_controller_test.rb添加代码:def test_checkouttest_add_to_cartget :
2011-08-08 14:40:30
261
原创 Ruby on rails开发从头来(windows)(二十六)- 使用Mock对象
前面我们测试了model和controller,学习了一些常用的测试方法,现在我们来深入学习几个有关测试的主题。第一个是使用Mock对象。在很多时候,我们的程序和实际的环境有依存关系,比如现在的购物车,在汇款,结账的时候要接入网络上的银行账号,这样就造成了我们测试的时候必须要
2011-08-08 14:40:10
419
原创 Ruby on rails开发从头来(windows)(二十七)- 测试驱动开发
在敏捷开发的实践中,测试驱动是少不了的。这篇来看看在rails中的一个测试驱动开发的例子。在前面我们编写并进行了一些单元测试和功能测试,现在,我们的客户突然要求添加一个功能:系统的每个用户都可以对商品进行查询。 我们先初步的画了一些草图,来整理我们的思路和设计,然后开始写
2011-08-08 14:39:36
339
原创 Ruby on rails开发从头来(windows)(二十八)- 使用Rake运行测试
Rake是使用ruby编写的程序,我们用Rake来读入RakeFile。而Rakefile里包含了定义的任务,每个任务都有一个名字,和它所依赖的一些任务,并且还有一组要执行的动作。现在我们来了解一下Rails中的Rake。 当你使用Rails的generate脚本创建
2011-08-08 14:39:06
335
原创 Ruby on rails开发从头来(windows)(二十九)- 性能测试
Rails所针对的是Web项目,必须要考虑大访问量的情况,所以我们来看看在Rails怎样进行性能测试。1. 要进行性能测试,我们首先要模仿大量的数据,我们现在知道,在test/fixtures/目录下的yml文件里添加我们的测试数据,在运行测试时,这些数据会被加载
2011-08-08 14:38:40
249
原创 Ruby on rails开发从头来(windows)(三十)- NetBeans IDE
到现在,应该告一段落了,总共有二十九篇随笔,干脆凑个整数,再写写IDE环境吧。前面所有的代码都是我用ruby自带的编辑器SciTE编写的,很不方便,随着Rails的发展,目前也有很多IDE推出来,刚刚看到NetBeans推出的6.0rc版,提供了单独的Rails开发环境,这次来简
2011-08-08 14:37:59
400
原创 Ruby on rails开发从头来(windows)(三十一)- Rails的目录结构
之前的三十篇都是根据书本上的内容写的,很少有自己的理解,从这篇开始,来了解一些Rails的内部机理,所以理解的东西比较多,代码就少了,这次我们来看看Rails的目录结构。关于Rails的目录结构,通过前面的练习,我们应该有一些了解了,我们的工作目录主要是app和test两个。
2011-08-08 14:35:00
265
原创 Ruby on rails开发从头来(windows)(三十二)- Rails的配置文件
Rails的运行时配置是由config目录下的文件来控制的。1. 运行时环境(Runtime environment)当开发者编写代码时,需求是多中多样的。在开发中你可能会需要很多的登录,加载变化过的代码。在测试时,你需要各个系统之间是隔离开的。在发布之前,你
2011-08-08 14:33:47
277
原创 Ruby on rails开发从头来(windows)(三十三)- 命名约定
在刚开始学习Rails的时候可能会困惑于Rails时怎样自动处理命名的,比如如何根据一个名为Person的Model来到数据库中找到名为people的表,这次我们就来看看Rails里的命名约定。1. 混合大小写,下划线,复数我们经常使用简写命名变量,在Ruby
2011-08-08 14:32:57
267
原创 Ruby on rails开发从头来(windows)(三十五)- 日志(Log)
Rails内建了Log功能,或者更准确的说,Rails暴露了Logger对象,该对象可以在所有的Rails程序中使用。Logger是从ruby中移植过来的一个简单的Log框架(你可以在ruby的命令行里键入ri Logger来查看标准库的文档),对于我们而言,我们只需要知道L
2011-08-08 14:31:04
226
原创 Ruby on rails开发从头来(windows)(三十六)- 调试技巧
这次我们来看看一些关于调试的小提示。首先,而且也是最重要的就是,编写测试代码,在Rails里编写单元测试和功能测试都很简单,使用它们,可以减低bug发生率,也可以避免在你从前的代码中突然出现bug。测试代码告诉你哪些东西能够工作,哪些不能,并且,测试代码帮助你隔离那些
2011-08-08 14:30:03
259
原创 Ruby on rails开发从头来(三十七)- ActiveRecord基础
ActiveRecord是Rails提供的一个对象关系映射(ORM)层,从这篇开始,我们来了解Active Record的一些基础内容,连接数据库,映射表,访问数据等。 Active Record使用基本的ORM模式:表映射成类,行映射成为对象,列映射成对象的属性。与很多
2011-08-08 14:29:36
317
原创 Ruby on rails开发从头来(三十八)- ActiveRecord基础(列和属性)
ActiveRecord中的一个对象相当于数据库中表的一行,对象的属性对应于表的列,也许你会注意到我们的Order类没有提及关于orders表的任何东西,这是因为ActiveRecord在运行时来确定这些对应关系,Active Record将数据库中的模式反应到类中。我们的o
2011-08-08 14:28:37
275
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人