- 浏览: 221933 次
文章分类
- 全部博客 (155)
- activerdf (1)
- html (0)
- depoly (1)
- src_present (1)
- ria (1)
- beast (2)
- cache (1)
- acts_as_atggable (1)
- http (1)
- talk (1)
- rest (1)
- rake (1)
- vim (2)
- active_resource (1)
- jruby activerecord_jdbc (1)
- nginx (1)
- plugin (1)
- gui (1)
- push (1)
- 介紹 (1)
- rails (19)
- regex (1)
- svn (1)
- 說明 (13)
- gem (4)
- ruby (16)
- rails12 (2)
- fastcgi (1)
- os (1)
- mongrel (5)
- scale (4)
- quickref (1)
- 安裝 (5)
- tiobe_index (2)
- planet (1)
- lighttpd (4)
- Capistrano (1)
- 嘴砲 (2)
- performance (4)
- ide (6)
- jruby (12)
- railsconf (1)
- activerecord (2)
- ajax (3)
- ruby.net (1)
- 程式 (1)
- actionmailer (1)
- company (2)
- security (1)
- redmine (1)
- book (2)
- news (2)
- 廣告 (1)
最新评论
-
bluerose:
你好,我下载了文件是Textile格式的。应该怎么阅读呢?我想 ...
Textile,RedCloth,Vim -
whg333:
谢谢,LZ是香港或台湾人士?怎么都是繁体?
學習 Ruby on Rails 要看的書 -
jerry:
https可以作吗?
Net::HTTP 使用方式 -
thinhair:
能不能具体点? 这个Config文件在那啊?
用 JRuby 來連接 Oracle -
dearsuper:
就是希望少占资源。
Another Ruby IDE:InterlliJ Idea for Ruby Plugin launch
很多時候我們會使用 Active Record裡面的條件式關連性,但是有時候會覺得使用的關連性似乎有點太多了、太繁雜了。
像是這樣,有兩個 User 有很多 Email ,但是我們想用 Email 的 status cloumn 來判斷是已讀還是未讀。
當然有,這裡有一篇文章講到一些 Active Record relationship Tips ,我最喜歡他的第二個 tips。
像是這樣,有兩個 User 有很多 Email ,但是我們想用 Email 的 status cloumn 來判斷是已讀還是未讀。
這樣的作法可以達成下面的效果class User < ActiveRecord::Base
has_many :emails, :dependent => :delete_all
has_many :read_emails, :class_name => "emails" ,:conditions => "status = 'read'"
has_many :unread_emails , :class_name => "emails" ,:conditions => "status = 'unread'"
end
雖然方便,但是也意味著光是一個 Email 我們就建立了三個以上的 relationship,並且假設 table 裡面真的有一個叫做 read_emails 的 table ,那不就衝突了嗎?有沒有其他的方式呢?a = User.find(1)
a.read_emails
a.unread_emails
當然有,這裡有一篇文章講到一些 Active Record relationship Tips ,我最喜歡他的第二個 tips。
在 relationship 後面,加入這樣的方式,可以做到class User < ActiveRecord::Base
has_many :emails, :dependent => :delete_all do
def read(reload=false)
@read = nil if reload
@read ||= find(:all, :conditions => "status = 'read'")
end
def unread(reload=false)
@unread = nil if reload
@unread ||= find(:all, :conditions => "status = 'unread'")
end
end
end
如此只需要一個 relationship 就可以做倒類似的事情。a = User.find(1)
a.emails.read
a.emails.unread
发表评论
-
Rails 取名的一些禁忌
2007-06-26 06:11 1285今天寫 Rails 寫到一半,突然發現出現wrong numb ... -
Rails 2.0 預計的新特色
2007-06-03 08:03 979Ruby on Rails 作者 DHH 在 Rails Co ... -
script/plugin
2007-05-05 09:49 926well, 由於我跟 Rails 不熟 ... -
搞清楚你的 Rails Version
2007-04-18 06:13 1146目前使用 Rails 的網站, ... -
Persistent Login on Rails
2007-04-05 06:24 943Rails 社群一向是使用最方便的 Session 來做 lo ... -
Fragment Cache Part 2
2007-03-28 12:12 1157上次介紹了如何使用最基本的 Fragment Cache,現在 ... -
Fragment Cache Part 1
2007-03-27 14:27 1431之前介紹過 Page Cache,那是一個將所有動態內容都變成 ... -
DHH 寫了一個 OpenID 的 Rails Plugin
2007-02-28 14:50 1204既然大家都覺得 OpenID 很有搞頭,那身為尖端科技的結晶的 ... -
一個在 Rails 跟 Django 徘徊設計師的真情告白
2007-02-28 15:26 2225AjaxWhoIs 這個網站的作者最近發表一篇文章 Why I ... -
修改 Ruby 預設的 Time 顯示格式
2007-02-25 08:21 1123Rails 預設的 Datetime format 是類似這樣 ... -
Rails 的原始碼行數比?
2007-02-17 14:24 1140實例看完 JavaEye 今天的文章,發現到根據 Robbin ... -
Pagination Collection:進階版的分頁
2007-02-06 00:00 1323當我第一眼看到 Pagination 時,我感覺到他是一個很好 ... -
利用 File_column 來做到縮圖
2007-01-23 09:25 1286圖片上傳,縮圖製作這幾個功能可以說是 Web App 做到爛掉 ... -
Rails 1.2 所有 gem 提供下載
2007-01-19 14:49 9864因為你們好像有國外網路連線速度上面的問題 所以我將所有 Rai ... -
HTML?New Template System ?
2007-01-18 00:29 1375現行 Scripting Language 不 ... -
Faster CSV:做報表的好幫手
2007-01-16 09:23 1389FasterCSV 是 Ruby 當中一個處理 CSV 檔案的 ... -
Windows 上面安裝 Ruby on Rails
2007-01-05 13:05 1740其實不太想寫 Windows Tuto ... -
「易遊」使用 Ruby on Rails 的原因
2007-01-10 14:20 1204易遊是一個對岸開發, ...
相关推荐
4. **关联**:深入研究Active Record的各种关联类型,如has_many、belongs_to、has_one、has_and_belongs_to_many,以及如何处理关联查询和嵌套关联。 5. **事务**:学习如何使用Active Record事务来保证数据库操作...
此外,Active Record可能难以处理多表关联、事务管理和复杂查询。 相比之下,Data Mapper模式将数据访问逻辑封装在Mapper接口中,使得领域模型可以保持简洁,不包含数据库相关的代码。这种方式更适合大型项目,能够...
3. **关联**: Active Record支持多种数据库关联,如一对一、一对多、多对多等。在Trello应用中,任务可能属于一个列表,列表又属于一个面板,这种关系可以通过Active Record的关联定义实现。 4. **查询与条件筛选**...
在Rails 3中,Active Record查询接口发生了显著的变化,这些变化主要是为了提高代码的可读性和性能,引入了懒加载(Lazy Loading)的概念。本文将详细介绍这些查询方式的转变及其背后的动机。 首先,我们注意到旧版...
将具有数据库支持的参照完整性的多个表继承添加到Active Record模型。 关于 Enterprise MTI是一个Ruby库,用于向Active Record模型添加多个表继承。 与其他MTI库不同,其设计可在应用程序和数据库级别上强制执行...
6. **事务和并发控制**:介绍如何使用Active Record进行事务处理,确保数据的一致性,以及在并发环境下处理问题。 7. **性能优化**:讨论查询性能优化策略,如避免N+1查询,使用预加载(eager loading),以及索引...
4. **数据库关联**:在 Active Record 模型中创建字段,如 `image_path` 或 `thumbnail_path`,用于存储图像文件的路径信息。 5. **缩略图生成**:自动创建和存储图像的缩略图,以适应不同的显示需求。 6. **删除...
这个框架的核心理念是将数据库表与Java类关联,使得数据库中的记录对应于Java对象,而字段对应于对象的属性。通过这种方式,开发人员可以更专注于业务逻辑,而不是底层的数据库操作。 在Java ActiveRecord中,每个...
总结,"TheSaltedHash"项目利用Sinatra的简洁性和Active Record的强大数据库管理能力,构建了一个功能完备的美食博客。通过结合HTML模板,实现了用户友好的界面,让用户能够浏览、交互和分享食谱。这个项目展示了...
Active Record类的核心优势在于其简便性、易用性和可维护性。它允许开发者通过面向对象的方式来执行常见的数据库操作,如查询、插入、更新和删除数据,而无需编写复杂的SQL语句。CI虽然支持传统的PHP/MySQL接口,但...
《C# Castle.ActiveRecord 源码示例教程》 Castle.ActiveRecord 是一款基于 C# 的轻量级对象关系映射...同时,结合 Winform 的应用,可以加深对 ORM 框架在实际项目中的应用理解,提升软件开发的灵活性和可维护性。
在Yii框架中,为了使Active Record能够执行关联查询,需要在相应的模型类中定义这些关系。这通常是通过覆盖`CActiveRecord`中的`relations()`方法来完成的,该方法返回一个关系配置数组。 ##### 关系配置数组的格式...
CakePHP CakePHP是PHP的快速开发框架,它使用Active Record,关联数据映射,Front Controller和MVC等众所周知的设计模式。 我们的主要目标是提供一个结构化的框架,该框架使所有级别PHP用户都可以快速开发健壮的Web...
- **定义**:Active Record是一种ORM(对象关系映射)模式,它使得操作数据库中的记录就像操作内存中的普通对象一样简单。 - **作用**:通过Active Record,开发者可以直接在模型类中定义数据表的字段和关系,而无需...
版本1.0.11引入了对表前缀的支持,1.0.8版本增加了对关联匿名函数作为事件处理器的支持,而1.0.5版本则增强了Active Record,支持命名空间,改进了关联查询。 ### Yii框架安装 安装Yii框架相对简单,开发者可以从其...
Active Record提供了许多便捷的方法,如CRUD(创建、读取、更新、删除)操作,以及关联(如has_many、belongs_to等)。 **3. RESTful设计** Rails鼓励使用REST(Representational State Transfer)架构风格来构建...
这个主题主要展示了如何在SQLAlchemy中实现类似于Active Record的编程风格,包括如何定义模型、使用Session查询数据、实现嵌套加载以优化性能,以及通过重写`__repr__`方法和使用Mixins来提升代码的可读性和可维护性...
5. **数据库和Active Record**:Active Record是Rails中的ORM(对象关系映射),书中会详细介绍模型关联、查询语言(SQL与AR语句)、迁移和数据库设计原则。 6. **视图和模板**:Rails使用ERB或Haml等模板语言来...
- **安全性增强**:引入了更多安全特性,如 CSRF 保护、安全白名单等,增强了应用的安全性。 #### 九、书籍信息 - **作者**:Cloves Carneiro Jr. 和 Rida Al Barazi。 - **出版信息**:版权 ©2010 年,由 Cloves ...