The Last Day Of Summer

.NET技术 C# ASP.net ActiveReport SICP 代码生成 报表应用 RDLC
posts - 308, comments - 2050, trackbacks - 78, articles - 3
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

Ruby On Rails

摘要: 预加载子记录讨论的问题和“延迟加载”是相同的。通常Active Record会推迟从数据库中加载子记录,直到你需要他们,例如,通过Rdoc中的例子,我们假定博客程序有一个Model,像下面这样:阅读全文

posted @ 2008-06-04 14:07 Cure 阅读(2065) | 评论 (3) 编辑 |

摘要: 或许存在这样的情况,在一个表中,一条记录关联到表中的另一条记录,例如,公司中的每个雇员都有上级和下级,而他们同时又是雇员,在Rails中你可以这样使用Employee类阅读全文

posted @ 2008-05-07 10:24 Cure 阅读(1664) | 评论 (1) 编辑 |

摘要: 昨天的随笔中写了使用SubVersion自带的svnserv.exe搭建版本库,这次的内容是基于Apache搭建版本库。阅读全文

posted @ 2008-04-26 15:14 Cure 阅读(7222) | 评论 (1) 编辑 |

摘要: 在前面的随笔中,介绍了基于Rails的项目管理工具Redmine,其中提供了版本管理功能,下面介绍SubVersion(后面简称为SVN)的安装和在Redmine中的使用。阅读全文

posted @ 2008-04-25 09:42 Cure 阅读(7606) | 评论 (2) 编辑 |

摘要: 在Rails中多对多关联通过在关联表对应的类中声明has_and_belongs_to_many来实现。
在数据库中,多对多关联使用中间表来实现,表中包括关联表的主键,Active Record假定这个中间表的名字是由关联表的名字根据字母的顺序串联起来得到的。例如,关联表为categories和products,中间表的名字就是categories_products。阅读全文

posted @ 2008-04-24 09:30 Cure 阅读(2150) | 评论 (0) 编辑 |

摘要: 在以前的一篇随笔里提到一个bug跟踪工具Bugtrack.net,是比较简单的工具,只限于跟踪bug。如今时过境迁,好工具也一茬茬的往上冒,本来想看看VSTS(听说也涵盖项目管理功能),但是去微软网站上下载的时候,6张盘,700M的巨无霸体积还是让我恐惧,就找找开源的吧,也许是微软太强了,一直没有什么好的.net环境下的开源项目管理工具(得过jolt大奖的OnTimer也是要掏银子的)。先看了Trac,Rails项目用的就是这个,python实现,园子里的Zealic做了一个很方便的安装包,但是有些地方不是很方便。这才又看到基于Rails实现的Redmine,发现有一些很惹人喜欢的地方,google了一下,园子里关于这个东西的内容比较少,就自己写一篇。虽然是基于Rails的,但是完全可以用于.net的项目。阅读全文

posted @ 2008-04-23 18:06 Cure 阅读(11119) | 评论 (18) 编辑 |

摘要: 一对多关联可以使我们表示一组对象,例如,一个order可以包含有任意多个line item,在数据库中,所有的line item记录都通过外键关联到特定的order。
在Active Record中,通过在父对象中的has_many来定义到子对象的关联,在子对象中使用belongs_to来指定父对象。我们已经在上一篇中了解了belongs_to声明,实际上,在一对多的情况下,和一对一是相同的,所以我们来了解has_many声明。
阅读全文

posted @ 2008-04-22 13:53 Cure 阅读(2341) | 评论 (0) 编辑 |

摘要: 一对一关联,或者更正确的说是一对零或一对一关联,是通过外键引用到另外一张表中的至多一条记录实现的阅读全文

posted @ 2008-04-21 11:33 Cure 阅读(1931) | 评论 (6) 编辑 |

摘要: Rails支持三种表间关联关系,一对一,一对多,多对多,你需要在Model中加入声明来标识这些关联:has_one,has_many,belongs_to,has_and_belongs_to_many。阅读全文

posted @ 2008-04-18 13:21 Cure 阅读(1387) | 评论 (0) 编辑 |

摘要: 很多程序使用的数据库都包含有多个表,而且通常一些表之间还有关联关系,订单常含有多个条目,而一个条目又关联到一种商品,一个商品可能又属于多个商品分类,一个商品分类里又包含有多个不同的商品。阅读全文

posted @ 2008-04-16 13:33 Cure 阅读(1791) | 评论 (0) 编辑 |

摘要: Active Record提供了两种方式进行删除操作。首先,有两个类级别的方法,delete和delete_all,这两个操作处在数据库层面上,delete()方法接收一个或一组和数据库对应的id,delete_all()方法删除所有符合指定条件的记录,如果没有指定条件,就会删除所有的记录。方法的返回值和具体的数据库适配器相关,例如oracle返回被影响的行数。如果没有记录被删除,也不会抛出异常。阅读全文

posted @ 2008-04-15 20:15 Cure 阅读(1577) | 评论 (0) 编辑 |

摘要: 在学习Rails中的并发处理的处理前,我们先简单了解下并发处理的概念。

在有多个处理同时访问同一个数据库的应用程序中,可能会出现这样的情况,因为一个处理更新了数据库中的行,而使得另一个处理中持有的数据变得陈旧了。例如,A和B先后从数据库中提取了相同的数据,并都做了修改,这时B先将自己的修改更新会数据库,稍后,A将自己的修改更新回数据库,这时将会覆盖B所作的修改,当B再次提取数据库后,看到的是A修改的结果,而不是自己的。阅读全文

posted @ 2008-04-15 10:50 Cure 阅读(1286) | 评论 (0) 编辑 |

摘要: 前面了解了检索的方法,这次来看看Active Record怎样更新数据库中的记录。
如果你有一个Active Record对象(或许对应于order表),你可以通过调用save方法将它写道数据库中去,如果这个对象是先前从数据库中读取出来的,save方法将会更新既有的记录,否则将会新建一条记录。
阅读全文

posted @ 2008-04-10 13:18 Cure 阅读(1604) | 评论 (0) 编辑 |

摘要: Active Record提供了两个方法来获取符合条件的记录的条数:count()和count_by_sql()阅读全文

posted @ 2008-04-09 09:36 Cure 阅读(1343) | 评论 (0) 编辑 |

摘要: 数据库上最常运行的查询莫过于根据指定条件返回符合的结果集,查询可能是返回所有名字为‘dave’的订单,或者是某个博客上所有标题含Rails的post,在很多其他的框架和程序设计语言中,你需要创建sql来执行查询,Active Record利用了ruby语言所包含的动态能力来做这些事。阅读全文

posted @ 2008-04-08 10:42 Cure 阅读(1842) | 评论 (2) 编辑 |

摘要: 现在我们知道如何指定条件,现在我们来看看find方法支持的一些其他设置。
首先,理解find(:first,…)方法是非常重要的,该方法在同样的conditions设置下,和find(:all,…)方法生成同样的sql语句,不同之处仅在于只返回一条记录。在调用的时候,一种的参数为:first,另一种为:all。
阅读全文

posted @ 2008-04-07 12:52 Cure 阅读(2302) | 评论 (0) 编辑 |

摘要: 想象一下Active Record是如何处理SQL的,我们来看看find方法的:conditions参数,调用的时候像这样:find(:all,:conditions=>…),这里的:conditions参数决定了find方法将返回哪些记录,它相当于Sql语句的where部分,例如,要获取所有的名字为Dave,pay_type为po的订单,我们这样写阅读全文

posted @ 2008-04-02 13:17 Cure 阅读(1426) | 评论 (0) 编辑 |

摘要: 读取记录包括指定那些特定的数据是你感兴趣的,你给Active Record指定标准,Active Record再返回给你一些对象,其中包含了符合条件的记录的数据。阅读全文

posted @ 2008-04-01 09:59 Cure 阅读(1175) | 评论 (0) 编辑 |

摘要: Active Record使得实现CRUD的数据库基本操作变得简单,在下面的几节里我们使用Mysql数据库中的orders表来进行CRUD的操作,这次先看创建(Create)。阅读全文

posted @ 2008-03-31 10:13 Cure 阅读(1077) | 评论 (1) 编辑 |

摘要: Active Record抽象了数据库连接的概念,帮助应用程序来处理底层的数据库链接的细节,作为替代,Active Record使用通用的调用,将细节委托给一组数据库适配器。阅读全文

posted @ 2008-03-26 17:28 Cure 阅读(1743) | 评论 (4) 编辑 |

摘要: 也许你已经注意到了,在我们前面的代码中,数据库定义里都使用了一个integer型的字段id作为主键,这是Active Record的一个约定。阅读全文

posted @ 2008-03-24 11:03 Cure 阅读(1196) | 评论 (0) 编辑 |

摘要: 有时,能够在某个属性中直接存储任意的ruby对象是很方便的,一种办法就是Active Record支持序列化,将一个ruby对象变为一个YMAL字符串,并且将这个字符串存储到属性对应的数据库字段中。在数据库定义中,这个字段必须为text类型。阅读全文

posted @ 2008-03-21 20:33 Cure 阅读(1027) | 评论 (2) 编辑 |

摘要: 一些数据库支持boolean类型,而另一些则不支持,这使得Active Record要抽象boolean类型变得困难。例如,如果数据库不支持boolean类型,有的开发者使用char(1)来替代,而内容使用“t”和“f”来表示true和false,而另外一些开发者使用integer类型,0是false,1是true。即使数据库支持boolean类型,在内部也许还是使用0和1来存储。阅读全文

posted @ 2008-03-18 11:15 Cure 阅读(1039) | 评论 (0) 编辑 |

摘要: 如果在一个model对象中有一个名为balance的属性,你可以通过索引操作符来获取该属性的值,你可以使用一个字符串或者标记,在这里我们使用标记,例如:阅读全文

posted @ 2008-03-14 11:28 Cure 阅读(1230) | 评论 (0) 编辑 |

摘要: ActiveRecord中的一个对象相当于数据库中表的一行,对象的属性对应于表的列,也许你会注意到我们的Order类没有提及关于orders表的任何东西,这是因为ActiveRecord在运行时来确定这些对应关系,Active Record将数据库中的模式反应到类中。阅读全文

posted @ 2008-03-12 20:21 Cure 阅读(1262) | 评论 (0) 编辑 |

摘要: ActiveRecord是Rails提供的一个对象关系映射(ORM)层,从这篇开始,我们来了解Active Record的一些基础内容,连接数据库,映射表,访问数据等。阅读全文

posted @ 2008-03-07 09:43 Cure 阅读(1938) | 评论 (1) 编辑 |

摘要: 这次我们来看看一些关于调试的小提示。阅读全文

posted @ 2008-02-20 17:09 Cure 阅读(1457) | 评论 (0) 编辑 |

摘要: Rails内建了Log功能,或者更准确的说,Rails暴露了Logger对象,该对象可以在所有的Rails程序中使用。阅读全文

posted @ 2008-02-18 11:40 Cure 阅读(1535) | 评论 (0) 编辑 |

posted @ 2008-01-15 09:13 Cure 阅读(937) | 评论 (0) 编辑 |

摘要: 在刚开始学习Rails的时候可能会困惑于Rails时怎样自动处理命名的,比如如何根据一个名为Person的Model来到数据库中找到名为people的表,这次我们就来看看Rails里的命名约定。阅读全文

posted @ 2008-01-10 19:34 Cure 阅读(1617) | 评论 (5) 编辑 |

摘要: Rails的运行时配置是由config目录下的文件来控制的阅读全文

posted @ 2008-01-06 18:02 Cure 阅读(2500) | 评论 (3) 编辑 |

摘要: 最近一直在忙工作,没有继续学习rails,不过还是一直在关注。
年底了,在大家在回顾过去一年的同时,业界的公司,组织也不断推出新产品,下面的几条也已经不新了,旧闻吧,是关于Rails的。阅读全文

posted @ 2007-12-26 12:58 Cure 阅读(901) | 评论 (0) 编辑 |

摘要: 之前的三十篇都是根据书本上的内容写的,很少有自己的理解,从这篇开始,来了解一些Rails的内部机理,所以理解的东西比较多,代码就少了,这次我们来看看Rails的目录结构。阅读全文

posted @ 2007-12-14 00:21 Cure 阅读(1919) | 评论 (2) 编辑 |

摘要: 到现在,应该告一段落了,总共有二十九篇随笔,干脆凑个整数,再写写IDE环境吧。前面所有的代码都是我用ruby自带的编辑器SciTE编写的,很不方便,随着Rails的发展,目前也有很多IDE推出来,刚刚看到NetBeans推出的6.0rc版,提供了单独的Rails开发环境,这次来简单尝试下。阅读全文

posted @ 2007-12-06 00:31 Cure 阅读(2471) | 评论 (3) 编辑 |

摘要: Rails所针对的是Web项目,必须要考虑大访问量的情况,所以我们来看看在Rails怎样进行性能测试。阅读全文

posted @ 2007-11-30 14:23 Cure 阅读(1242) | 评论 (0) 编辑 |

摘要: Rake是使用ruby编写的程序,我们用Rake来读入RakeFile。而Rakefile里包含了定义的任务,每个任务都有一个名字,和它所依赖的一些任务,并且还有一组要执行的动作。现在我们来了解一下Rails中的Rake。阅读全文

posted @ 2007-11-28 15:46 Cure 阅读(1248) | 评论 (2) 编辑 |

摘要: 在敏捷开发的实践中,测试驱动是少不了的。这篇来看看在rails中的一个测试驱动开发的例子。阅读全文

posted @ 2007-11-26 15:40 Cure 阅读(1043) | 评论 (2) 编辑 |

摘要: 前面我们测试了model和controller,学习了一些常用的测试方法,现在我们来深入学习几个有关测试的主题。第一个是使用Mock对象。阅读全文

posted @ 2007-11-23 16:53 Cure 阅读(981) | 评论 (0) 编辑 |

摘要: 这次我们继续测试Controller,还是Store_controller。阅读全文

posted @ 2007-11-22 12:53 Cure 阅读(738) | 评论 (2) 编辑 |

摘要: 上篇随笔里介绍了rails在功能测试方面的一些约定。这次我们继续会到Controller的测试。阅读全文

posted @ 2007-11-20 21:00 Cure 阅读(858) | 评论 (0) 编辑 |

摘要: 上篇随笔里测试了login_controller,我们使用了很多rails内建的断言和get,put等方法来进行测试。这次来看看rails在功能测试方面的一些约定。阅读全文

posted @ 2007-11-13 19:13 Cure 阅读(1004) | 评论 (2) 编辑 |

摘要: 上次测试Modeul的问题还没有解决,但是下面的还要继续,这次来测试Controller。阅读全文

posted @ 2007-11-12 12:50 Cure 阅读(995) | 评论 (0) 编辑 |

摘要: 以前的随笔都是按照书上的例子写下来的,但是,这次在测试Model时,按照书上的例子代码怎么也走不通,所以就换个方式,这篇变成了提问。阅读全文

posted @ 2007-11-07 20:02 Cure 阅读(1003) | 评论 (2) 编辑 |

摘要: 上篇随笔简单了解了rails的测试和测试用数据的使用,这次来看看怎样对一个model进行添删查改的测试。阅读全文

posted @ 2007-10-11 14:08 Cure 阅读(1311) | 评论 (2) 编辑 |

摘要: 前面我们已经完成了一个简单的购物车,从这篇开始我们看看在rails中怎样进行测试。阅读全文

posted @ 2007-10-08 09:46 Cure 阅读(1309) | 评论 (0) 编辑 |

摘要: 到此,我们这个购物车的实现就完成了,下面我们可以利用ruby里的Rdoc来给我们的程序生成文档,和dotnet,java,python等一样,Rdoc可以把我们代码里类和方法声明前面的注释提取出来生成文档。阅读全文

posted @ 2007-10-02 11:27 Cure 阅读(1398) | 评论 (6) 编辑 |

摘要: 上次我们实现了登录的页面,现在我们区别管理员和普通用户,根据用户的不同身份,转入到不同的页面阅读全文

posted @ 2007-09-29 11:44 Cure 阅读(2274) | 评论 (1) 编辑 |

摘要: 现在我们的购物车程序为两种用户提供了服务,一类是普通用户,一类是管理员。两类用户分别有不同的功能。上次我们又实现了添加用户的功能,这次我们来实现登录的功能。阅读全文

posted @ 2007-09-27 21:23 Cure 阅读(2475) | 评论 (3) 编辑 |

摘要: 从这篇开始,我们来实现一组用户管理的功能,首先是添加用户。阅读全文

posted @ 2007-09-26 12:03 Cure 阅读(1950) | 评论 (7) 编辑 |

摘要: 在上次的内容里,我们完成了订单的编写。这次我们模拟一个简单的送货页面,给这个购物车的管理员用。阅读全文

posted @ 2007-09-20 12:26 Cure 阅读(1282) | 评论 (4) 编辑 |

摘要: 在上次的内容里,我们编写了CHECKOUT的处理。这次我们将显示购物车和订单放在一个页面上表示,这样用户在下订单的时候就可以很方便地看到自己的购物情况。阅读全文

posted @ 2007-09-14 12:47 Cure 阅读(1221) | 评论 (3) 编辑 |

摘要: 在上次的内容里,我们创建了订单的Model,和表示页面,这次继续编写CHECKOUT的处理。阅读全文

posted @ 2007-09-11 08:42 Cure 阅读(1278) | 评论 (1) 编辑 |

摘要: 在上次的内容里,我们实现了清空购物车和金额的格式化处理。这次实现订单的模块。阅读全文

posted @ 2007-09-07 19:00 Cure 阅读(2231) | 评论 (2) 编辑 |

摘要: 在上次的内容里,我们给购物车添加了错误处理,这次来实现清空购物车和金额的格式化处理。阅读全文

posted @ 2007-09-04 12:24 Cure 阅读(1649) | 评论 (5) 编辑 |

摘要: 在上次的内容里,我们演示了怎样构建一个简单的购物车,这次的内容非常简单,给购物车添加错误处理。阅读全文

posted @ 2007-08-24 08:51 Cure 阅读(2069) | 评论 (3) 编辑 |

摘要: 在前面的内容里,我们演示了怎样构建一个商品的列表,这次,我们在前面内容的基础上,构建一个简单的购物车。阅读全文

posted @ 2007-07-09 17:38 Cure 阅读(4872) | 评论 (25) 编辑 |

摘要: 在上一篇随笔中,我们为Products创建了一个维护用的列表页面。
这次我们使用上面维护的Products列表来创建一个最终用户使用的购物页面。阅读全文

posted @ 2007-07-04 17:16 Cure 阅读(4050) | 评论 (11) 编辑 |

摘要: 在上一篇随笔中,我们给Products的创建页面添加了输入验证,今次的内容非常简单,来稍稍美化下Products的列表页面。阅读全文

posted @ 2007-04-17 16:57 Cure 阅读(4854) | 评论 (8) 编辑 |

摘要: 在上一篇随笔中,我们完成了对一个表Product的添删查改的操作,你一定注意到了,我们还没有添加任何验证,例如Price,我们可以随意输入任何字符,而不会有错误提示。这次,我们就来看看怎样添加验证输入功能。阅读全文

posted @ 2007-04-16 16:20 Cure 阅读(5046) | 评论 (5) 编辑 |

摘要: 关键字:Ruby On Rails ,InstantRails,Windows,入门,教程

一直想尝试Ruby On Rails,但是因为对apache,mysql都不熟,对Rails的环境搭建更是没信心,所以一直没有开始,从知道了InstantRails后,终于在windows上搭建了Ruby On Rails开发环境,开始了Rails的学习。
现在从最基础的知识开始,一边读着《Agile Web Development with Rails》的英文电子版,一边写随笔,并且尽量写的简单明了些,对于具体的细节概念倒没有做深入的研究,所以,这一系列也是《Agile Web Development with Rails》的读书笔记(其实叫做“抄书笔记”可能更合适)。
之所以做为一个系列,是因为给自己定一个计划,不致半途而废。另外也是为了象我一样不懂Linux开发的朋友们查找,

6月4日更新,共五十九篇阅读全文

posted @ 2007-04-13 15:18 Cure 阅读(13879) | 评论 (17) 编辑 |

摘要: 在上一篇Ruby on rails开发从头来(windows)(三)-实现页面间的跳转中,我们创建了两个页面来进行跳转迁移,这次我们来写一个单表维护的添删查改的例子。阅读全文

posted @ 2007-04-13 15:03 Cure 阅读(10642) | 评论 (37) 编辑 |

摘要: 在上篇随笔中,我们介绍了如何使用InstantRails创建一个项目和编写一个简单的Helloworld页面,今天在上次的基础上,写一个简单的页面跳转。阅读全文

posted @ 2007-04-12 15:43 Cure 阅读(9081) | 评论 (13) 编辑 |

摘要: 在前面的“使用InstantRaisl快速搭建Ruby on rails环境”后,这一次说说如何创建自己的项目,并写一个最简单的Hello页面,例子是借用Agile Web Development with Rails中的。阅读全文

posted @ 2007-04-10 16:39 Cure 阅读(14174) | 评论 (13) 编辑 |

摘要: 一直对Ruby on Rails抱有很大的兴趣,想看看这个被很多人称道的东西,但是一直在做windows下的开发,对于Ruby on Rails的开发环境搭建还是很头疼,这也是一直没有开始研究Ruby on rails的原因。刚刚在javaeye看到了InstantRails,一个All In One的套件,可以帮助你快速搭建Ruby On Rails开发环境,就立即下了一个试了试,还好,比较顺,起码可以跑起来自带的例子了。下面就把简单写写使用InstantRails快速搭建一个Ruby on Rails开发环境。阅读全文

posted @ 2007-04-09 17:39 Cure 阅读(19170) | 评论 (21) 编辑 |