
ruby
文章平均质量分 65
jinxihexilove
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ruby的include与extend
ruby提供了强大的继承机制,有关继承的方法很多。最简单就是“module Foo deffoo puts 'heyyyyoooo!'原创 2011-08-08 15:13:54 · 463 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(八)-使用Session创建购物车
在前面的内容里,我们演示了怎样构建一个商品的列表,这次,我们在前面内容的基础上,构建一个简单的购物车。 1. 首先我们要来创建一个保存客户购物信息的表:数据库脚本:drop table if exists line_items;create t原创 2011-08-08 14:54:36 · 449 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(十三)-订单(Order)
在上次的内容里,我们编写了CHECKOUT的处理。这次我们将显示购物车和订单放在一个页面上表示,这样用户在下订单的时候就可以很方便地看到自己的购物情况。 1. 修改checkout.rhtml文件,只要添加一句代码: "display_cart")原创 2011-08-08 14:50:39 · 299 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(十四)-送货处理
在上次的内容里,我们完成了订单的编写。这次我们模拟一个简单的送货页面,给这个购物车的管理员用。 1. 首先,我们修改order表,给他添加一个字段shipped_at:create table orders (id int not null aut原创 2011-08-08 14:49:47 · 442 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(十六)-登录
现在我们的购物车程序为两种用户提供了服务,一类是普通用户,一类是管理员。两类用户分别有不同的功能。上次我们又实现了添加用户的功能,这次我们来实现登录的功能。 1. 给login_controller添加login方法。上次使用rails的命令行生成的l原创 2011-08-08 14:47:17 · 384 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(十九)-测试开始
前面我们已经完成了一个简单的购物车,从这篇开始我们看看在rails中怎样进行测试。 在我们创建购物车程序的时候在我们的depot目录下,就已经有一个test目录了,这就是为我们进行测试准备的。到目前为止,我们看到里面的fixtrues和functional,unit目录中原创 2011-08-08 14:43:14 · 360 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(二十)-测试model(CRUD)
上篇随笔简单了解了rails的测试和测试用数据的使用,这次来看看怎样对一个model进行添删查改的测试。 1. 还是使用上次写的products_test.rb,修改test_turth方法的名字为test_create,并且使其内容为: def tes原创 2011-08-08 14:42:49 · 482 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(二十二)-测试Controller
上次测试Modeul的问题还没有解决,但是下面的还要继续,这次来测试Controller。1. 在test\functional目录下,rails已经为我们的controller生成了对应的测试文件,要注意application_controller不会生成测试文原创 2011-08-08 14:41:45 · 335 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(二十四)-测试Controller
上篇随笔里介绍了rails在功能测试方面的一些约定。这次我们继续会到Controller的测试。之前我们测试的是login,可以相见,用户在login以后就要开始进行购物的动作了,所以我们现在就来测试store_controller,我们先来测试index方法。1.原创 2011-08-08 14:41:00 · 344 阅读 · 0 评论 -
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 · 303 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(二十六)- 使用Mock对象
前面我们测试了model和controller,学习了一些常用的测试方法,现在我们来深入学习几个有关测试的主题。第一个是使用Mock对象。在很多时候,我们的程序和实际的环境有依存关系,比如现在的购物车,在汇款,结账的时候要接入网络上的银行账号,这样就造成了我们测试的时候必须要原创 2011-08-08 14:40:10 · 477 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(二十八)- 使用Rake运行测试
Rake是使用ruby编写的程序,我们用Rake来读入RakeFile。而Rakefile里包含了定义的任务,每个任务都有一个名字,和它所依赖的一些任务,并且还有一组要执行的动作。现在我们来了解一下Rails中的Rake。 当你使用Rails的generate脚本创建原创 2011-08-08 14:39:06 · 389 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(二十九)- 性能测试
Rails所针对的是Web项目,必须要考虑大访问量的情况,所以我们来看看在Rails怎样进行性能测试。1. 要进行性能测试,我们首先要模仿大量的数据,我们现在知道,在test/fixtures/目录下的yml文件里添加我们的测试数据,在运行测试时,这些数据会被加载原创 2011-08-08 14:38:40 · 292 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(三十)- NetBeans IDE
到现在,应该告一段落了,总共有二十九篇随笔,干脆凑个整数,再写写IDE环境吧。前面所有的代码都是我用ruby自带的编辑器SciTE编写的,很不方便,随着Rails的发展,目前也有很多IDE推出来,刚刚看到NetBeans推出的6.0rc版,提供了单独的Rails开发环境,这次来简原创 2011-08-08 14:37:59 · 471 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(七)-创建在线购物页面
在上一篇随笔中,我们为Products创建了一个维护用的列表页面,效果如图: 这次我们使用上面维护的Products列表来创建一个最终用户使用的购物页面。 1. 创建控制器(Controller),命名为store,我们通过命令行来创建它:原创 2011-08-08 14:57:43 · 480 阅读 · 0 评论 -
ruby 对文件的操作
ruby 对文件的操作读取一个文件,将其打印出来:lines = File.open('dom.js').readlinesputs "======================="转载 2011-08-08 14:05:21 · 498 阅读 · 0 评论 -
Ruby on rails开发从头来(五十六)- ActiveRecord基础(一对多关联关系)
一对多关联可以使我们表示一组对象,例如,一个order可以包含有任意多个line item,在数据库中,所有的line item记录都通过外键关联到特定的order。 在Active Record中,通过在父对象中的has_many来定义到子对象的关联,在子对象中使用b原创 2011-08-08 14:11:21 · 948 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(六)-美化你的列表页面
在上一篇随笔中,我们给Products的创建页面添加了输入验证,今次的内容非常简单,来稍稍美化下Products的列表页面。 1. 打开app\views\admin\list.rhtml文件,可以看到下面的代码Listing products原创 2011-08-08 15:10:26 · 425 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(九)-给购物车添加错误处理
在上次的内容里,我们演示了怎样构建一个简单的购物车,这次的内容非常简单,给购物车添加错误处理。 对于Web系统来说,并发处理是一个无法回避的问题,我们来模仿一个并发冲突的情景:1. 用户进入购物车页面,看到共有5种商品。2. 管理员原创 2011-08-08 14:53:51 · 342 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(十一)-订单(Order)
在上次的内容里,我们实现了清空购物车和金额的格式化处理。这次实现订单的模块。 1. 首先,我们要在数据库里创建Order表,创建表的Sql如下:create table orders (id int not null auto_increment,原创 2011-08-08 14:52:22 · 324 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(十二)-订单(Order)
在上次的内容里,我们创建了订单的Model,和表示页面,这次继续编写CHECKOUT的处理。 1. 在checkout.rhtml的页面上,有一个CHECKOUT按钮,上次还没有给它编写处理代码,现在在store_controller中添加save_order原创 2011-08-08 14:51:31 · 357 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(十五)-添加用户
从这篇开始,我们来实现一组用户管理的功能,首先是添加用户。 1. 首先,我们要创建一个表保存用户信息,并且生成一个对应的model。创建表的脚本,在phpAdmin里执行就可以了:create table users (id int not n原创 2011-08-08 14:48:40 · 400 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(十八)-自动生成文档
到此,我们这个购物车的实现就完成了,下面我们可以利用ruby里的Rdoc来给我们的程序生成文档,和dotnet,java,python等一样,Rdoc可以把我们代码里类和方法声明前面的注释提取出来生成文档。 对于我们的depot程序,我们在rails的命令行里运行rake原创 2011-08-08 14:44:00 · 345 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(二十一)-测试Model时的问题
以前的随笔都是按照书上的例子写下来的,但是,这次在测试Model时,按照书上的例子代码怎么也走不通,所以就换个方式,这篇变成了提问。 按照书上的说法,在products_test.rb开始的时候,会根据定义的yml文件,加载测试数据到一个Hash里,这样,在test的时候我们原创 2011-08-08 14:42:17 · 320 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(二十七)- 测试驱动开发
在敏捷开发的实践中,测试驱动是少不了的。这篇来看看在rails中的一个测试驱动开发的例子。在前面我们编写并进行了一些单元测试和功能测试,现在,我们的客户突然要求添加一个功能:系统的每个用户都可以对商品进行查询。 我们先初步的画了一些草图,来整理我们的思路和设计,然后开始写原创 2011-08-08 14:39:36 · 385 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(三十六)- 调试技巧
这次我们来看看一些关于调试的小提示。首先,而且也是最重要的就是,编写测试代码,在Rails里编写单元测试和功能测试都很简单,使用它们,可以减低bug发生率,也可以避免在你从前的代码中突然出现bug。测试代码告诉你哪些东西能够工作,哪些不能,并且,测试代码帮助你隔离那些原创 2011-08-08 14:30:03 · 303 阅读 · 0 评论 -
Ruby on rails开发从头来(三十九)- ActiveRecord基础(访问属性)
如果在一个model对象中有一个名为balance的属性,你可以通过索引操作符来获取该属性的值,你可以使用一个字符串或者标记,在这里我们使用标记,例如:account[:balance] #=> 获取值account[:balance] = 0.0 #=> 设置值但是原创 2011-08-08 14:27:37 · 310 阅读 · 0 评论 -
Ruby on rails开发从头来(四十八)- ActiveRecord基础(动态查询)
数据库上最常运行的查询莫过于根据指定条件返回符合的结果集,查询可能是返回所有名字为‘dave’的订单,或者是某个博客上所有标题含Rails的post,在很多其他的框架和程序设计语言中,你需要创建sql来执行查询,Active Record利用了ruby语言所包含的动态能力来做这些原创 2011-08-08 14:20:31 · 312 阅读 · 0 评论 -
Ruby on rails开发从头来(五十二)- ActiveRecord基础(删除记录)
Active Record提供了两种方式进行删除操作。首先,有两个类级别的方法,delete和delete_all,这两个操作处在数据库层面上,delete()方法接收一个或一组和数据库对应的id,delete_all()方法删除所有符合指定条件的记录,如果没有指定条件,就会删除原创 2011-08-08 14:18:08 · 365 阅读 · 0 评论 -
Ruby on rails开发从头来(五十五)- ActiveRecord基础(一对一关联关系)
一对一关联,或者更正确的说是一对零或一对一关联,是通过外键引用到另外一张表中的至多一条记录实现的,下图描述了orders表和invoices表的关系: 在Active Record中,要表示这样的关系需要在Order类中添加has_one:Invoice声明原创 2011-08-08 14:16:39 · 360 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(三十三)- 命名约定
在刚开始学习Rails的时候可能会困惑于Rails时怎样自动处理命名的,比如如何根据一个名为Person的Model来到数据库中找到名为people的表,这次我们就来看看Rails里的命名约定。1. 混合大小写,下划线,复数我们经常使用简写命名变量,在Ruby原创 2011-08-08 14:32:57 · 321 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(三十五)- 日志(Log)
Rails内建了Log功能,或者更准确的说,Rails暴露了Logger对象,该对象可以在所有的Rails程序中使用。Logger是从ruby中移植过来的一个简单的Log框架(你可以在ruby的命令行里键入ri Logger来查看标准库的文档),对于我们而言,我们只需要知道L原创 2011-08-08 14:31:04 · 269 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(十七)-控制访问权限
上次我们实现了登录的页面,现在我们区别管理员和普通用户,根据用户的不同身份,转入到不同的页面 在rails中提供了filter来截获访问某个action的请求,可以用filter在action被调用前或调用后添加我们自己的处理。在这里,我们在admin的contr原创 2011-08-08 14:46:03 · 356 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(二十三)-功能测试的约定
上篇随笔里测试了login_controller,我们使用了很多rails内建的断言和get,put等方法来进行测试。这次来看看rails在功能测试方面的一些约定。1. HTTP请求的方法(HTTP request method)下面的方法用来模拟HTTP请求原创 2011-08-08 14:41:18 · 262 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(三十一)- Rails的目录结构
之前的三十篇都是根据书本上的内容写的,很少有自己的理解,从这篇开始,来了解一些Rails的内部机理,所以理解的东西比较多,代码就少了,这次我们来看看Rails的目录结构。关于Rails的目录结构,通过前面的练习,我们应该有一些了解了,我们的工作目录主要是app和test两个。原创 2011-08-08 14:35:00 · 325 阅读 · 0 评论 -
Ruby on rails开发从头来(windows)(三十二)- Rails的配置文件
Rails的运行时配置是由config目录下的文件来控制的。1. 运行时环境(Runtime environment)当开发者编写代码时,需求是多中多样的。在开发中你可能会需要很多的登录,加载变化过的代码。在测试时,你需要各个系统之间是隔离开的。在发布之前,你原创 2011-08-08 14:33:47 · 321 阅读 · 0 评论 -
Ruby on rails开发从头来(三十八)- ActiveRecord基础(列和属性)
ActiveRecord中的一个对象相当于数据库中表的一行,对象的属性对应于表的列,也许你会注意到我们的Order类没有提及关于orders表的任何东西,这是因为ActiveRecord在运行时来确定这些对应关系,Active Record将数据库中的模式反应到类中。我们的o原创 2011-08-08 14:28:37 · 316 阅读 · 0 评论 -
Ruby on rails开发从头来(四十一)- ActiveRecord基础(存储结构化数据)
有时,能够在某个属性中直接存储任意的ruby对象是很方便的,一种办法就是Active Record支持序列化,将一个ruby对象变为一个YMAL字符串,并且将这个字符串存储到属性对应的数据库字段中。在数据库定义中,这个字段必须为text类型。 因为Active Reco原创 2011-08-08 14:26:30 · 334 阅读 · 0 评论 -
Ruby on rails开发从头来(四十二)- ActiveRecord基础(主键和ID)
也许你已经注意到了,在我们前面的代码中,数据库定义里都使用了一个integer型的字段id作为主键,这是Active Record的一个约定。 或许你要问,为什么不用订单编号或者某个有意义的列来作为主键呢?使用id作为主键有一个很重要的原因,就是如果使用具有内在格式的主原创 2011-08-08 14:25:28 · 1045 阅读 · 0 评论 -
Ruby on rails开发从头来(四十四)- ActiveRecord基础(创建记录)
Active Record使得实现CRUD的数据库基本操作变得简单,在下面的几节里我们使用Mysql数据库中的orders表来进行CRUD的操作,这次先看创建(Create)。 我们假想有一个Model,名为Order:class Order end在面向对原创 2011-08-08 14:23:58 · 295 阅读 · 0 评论