最新文章列表

Rails源码研究之ActiveRecord:五,Callbacks

Callbacks相关的源码在callbacks.rb文件里: module ActiveRecord module Callbacks CALLBACKS = %w( after_find after_initialize before_save after_save before_create after_create before_update after_u ...
hideto 评论(1) 有2745人浏览 2007-06-22 11:12

Rails源码研究之ActiveRecord:四,Validations

Validations相关的源码全在validations.rb文件里: module ActiveRecord class Errors include Enumerable @@default_error_messages = { :inclusion => "is not included in the list", ...
hideto 评论(4) 有3635人浏览 2007-06-21 20:09

关于Ruby Aop的小试验

Ruby 的Metaclass功能确实强大, 我仿照Rail的处理的做了一个Aop 的小试验,代码如下: ruby 代码   # aop_test.rb   # 2007年6月18日   #   module AopAspects     def log_method(*args)       puts "log here"   ...
nacu 评论(10) 有3290人浏览 2007-06-21 13:49

Rails源码研究之ActiveRecord:三,Transactions

这次我们分析一下Rails的事务支持 1,Rails默认将父子关系的表的save()和destroy()包装在一个事务里(见AWDWR一书的Transactions) 这保证了父子保存和删除的原子性,即ActiveRecord是级联保存和级联删除的,有源码为证 transactions.rb: module ActiveRecord module Transactions def ...
hideto 评论(0) 有3375人浏览 2007-06-21 12:59

Rails源码研究之ActiveRecord:二,Associations

今天学习一下ActiveRecord的Associations相关的源码,即了解一下我们常用的has_many、has_one、belongs_to、has_and_belongs_to_many的原理 1,activerecord-1.15.3\lib\active_record\associations.rb: require 'active_record/associations/ass ...
hideto 评论(2) 有4587人浏览 2007-06-20 22:06

Rails源码研究之ActiveRecord:一,基本架构、CRUD封装与数据库连接

Rails的ORM框架ActiveRecord是马大叔的ActiveRecord模式的实现+associations+SingleTableInheritance ActiveRecord的作者也是Rails的作者--David Heinemeier Hansson ActiveRecord的key features: 1,零Meta Data,不需要XML配置文件 2,Database Suppo ...
hideto 评论(1) 有9347人浏览 2007-06-19 21:01

Ruby on Rails 的检验方法(Validation Helpers)大全 (转)

From Captain Zhan's Blog [原文链接] 可以自定义validate(), 这个方法在每次保存数据时都会被调用. 如: def validate  if name.blank? && email.blank?   errors.add_to_base("You must specify a name or an email address") ...
cpccai 评论(0) 有5063人浏览 2007-06-19 16:58

rails bug 如果表字段有名字为type的bug

  今天在做开发的时候遇到一个莫名奇妙的问题,后来才发现是表中有字段名字叫type引起的,还是在http://dev.rubyonrails.org/ticket/7998 上发现原来是rails的 ...
foxty 评论(3) 有4048人浏览 2007-06-14 17:51

郁闷的下午,郁闷的RMagick

初学ror一星期,过程中一直相安无事,但是昨天被RMagick浪费了我两小时,今天三个小时又被RMagick无情的浪费掉了,贴在这耽误大家一些时间帮忙找找原因, 1、用webrick运行的时候,只要我在controller中加入     ruby 代码 require 'RMagick'   include Magick    此时只要执行任何action(也就是装载了co ...
wtb 评论(0) 有1781人浏览 2007-06-14 16:56

读Ruby for Rails的思考之method_missing

Ruby里方法的查找顺序是本类=>本类include的模块=>父类=>父类include的模块... 而当最终还是没有找到该方法时,会触发内建的method_missing方法的执行 默认的method_missing会触发异常,而我们可以通过override method_missing方法来提供一些特性 比如Rails的ActiveRecord,User.find_by_nam ...
hideto 评论(2) 有3078人浏览 2007-06-14 11:33

每天一剂Rails良药之acts_as_ferret

Ferret是Ruby的文本搜索引擎,它基于Apache Lucene 安装Ferret非常简单: gem install ferret Ferret是一堆C代码的Ruby代码封装,Ferret是针对Ruby的而不是RoR的 而Acts As Ferret则是针对RoR的 我们有两种方式安装Acts As Ferret: 1,以gem方式安装 gem install acts_as ...
hideto 评论(6) 有5926人浏览 2007-06-12 18:02

每天一剂Rails良药之tztime

以前我们这样使用TimeZone: class TasksController < ApplicationController def create task = account.tasks.build(params[:task]) task.alert_at = current_user.time_zone.local_to_utc(task.alert_at) ...
hideto 评论(0) 有2059人浏览 2007-06-12 14:41

每天一剂Rails良药之token_generator

这个插件让我们给使用它的当前class添加一个使用MD5生成的token class Invitation < ActiveRecord::Base include TokenGenerator before_create :set_token end class ImperialInvitation < ActiveRecord::Base include ...
hideto 评论(0) 有2058人浏览 2007-06-12 13:11

find_by_randomize -- 讓ActiveRecord可以亂數取資料

請在model內加入:def self.find_by_randomize  ids = self.find(:all, :select => [id])  self.find(ids[rand(ids.size)]["id"].to_i)end這樣一來,就可以取亂數選取資料了!請參考這篇:為你的 Active Record 做出多采多姿的 find當然囉.. thegii ...
cfc 评论(0) 有1008人浏览 2007-06-12 03:44

单表单提交 一次能修改多个关联数据库表吗?

单表单提交  一次能修改多个关联数据库表吗? 一个页面表单涉及2个数据库表是,提交的时候怎么同时修改2个数据库表。 比如: 表1:people: id name age 表2:mobile: id phonenum people_id 表1和表2之间的关系: people.rb class People < ActiveRecord::Base   has_many :mobiles ...
lxgwx4 评论(1) 有1556人浏览 2007-06-11 11:11

中文Scaffold

Rails1.2以后有一个scaffold_resource的generator,那些column在view里都展开了。相比老的scaffold要管用很多(老的scaffold基本上是个花瓶功能),开发可以在这个生成结果的基础上开展。 我在用rails做一个中文项目。每次生成scaffold_resource生成代码以后,都要去手工把Edit,View等等链接改成中文,还有那些column的名字, ...
cvu 评论(0) 有2174人浏览 2007-06-08 10:41

Rails Cache

今天插一脚,介绍一下Rails的缓存机制以及memcached的使用 Rails的Cache分四种: 1,Page Cache - Fastest 2,Action Cache - Next Fastest 3,Fragment Cache - Least Fastest 4,ActiveRecord Cache - Only available in Edge Rails 下面一一介绍上面四种Ca ...
hideto 评论(3) 有6385人浏览 2007-06-07 04:06

ruby on rails 文章链接

1:用策略模式替换继承。链接的文章,就是用继承替换了单表继承: http://www.last100meters.com/2007/6/1/clean-code-tutorial-use-a-strategy-pattern-instead-of-inheritance 2:介绍回调callback http://recursive2.com/2007/6/2/working-with-activ ...
melin 评论(0) 有1604人浏览 2007-06-06 09:47

如何为model数据的验证写单元测试

假设我们有一个model类Project,它的字段name是必须是唯一。它的单元测试可以如下: def test_project_name_should_be_uniqure project = Project.create!(:name => 'my project') assert_raises(ActiveRecord::RecordInvalid){ ...
moxie 评论(0) 有3797人浏览 2007-06-04 20:46

Couldn t find XXX without an ID

ActiveRecord::RecordNotFound in BookController#show Couldn't find Book without an ID 原因是<%= link_to book.title,:action=>"show",:id=>book.id %> 中的id前需要加冒号.
zuoming99 评论(1) 有2930人浏览 2007-06-02 13:55

最近博客热门TAG

Apache(33931) Lucene(5053) Hadoop(5049) nginx(3449) vim(3262) GCC(2954) memcached(2625) jfreechart(1688) Django(1602) Zend(1413) ActiveMQ(1398) Grails(1374) ActiveRecord(1349) OpenSource(1236) Emacs(870) Glassfish(858) lighttpd(810) rubygems(716) GAE(631) Blend(516)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics