首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

Ruby on Rails,施用find方法加载持久化对象

2012-11-18 
Ruby on Rails,使用find方法加载持久化对象欢迎来我的博客http://blog.csdn.net/abbuggy/article/details/

Ruby on Rails,使用find方法加载持久化对象

欢迎来我的博客http://blog.csdn.net/abbuggy/article/details/8092928

前文《Ruby on Rails,使用new和create创建ActiveRecord对象及他们之间的区别》,《Ruby on Rails,使用save和update_attributes更新持久化的ActiveRecord对象》,《Ruby on Rails,使用destroy方法删除ActiveRecord对象》中,分别介绍了向数据库中创建、更新、删除对象的方法。在应用实践中,从数据库查询对象的机会要远远高于创建、修改、删除的机会。下面来看看如何通过find方法加载ActiveRecord对象。

之前我们就已经使用过类似于Subject.find(1)的方法从数据库中加载Subject对象了。这是find的最简单用法,传入主键,得到对应的对象实例。

irb(main):024:0> Subject.find(:all,:conditions=>["name=?","First Subject"])=> [#<Subject id: 1, created_at: "2012-10-20 06:14:56", updated_at: "2012-10-20 06:14:56", name: "First Subject", position: nil>, #<Subject id: 2, created_at: "2012-10-20 06:25:27", updated_at: "2012-10-20 06:25:27", name: "First Subject",position: nil>]

请注意find系列的方法都是实时加载的,也就是说调用方法的同时就会与数据库交互进行查询。后面会讲到可以使用懒加载的方法。

find方法虽然能够进行条件过滤,但是返回的结果是一个列表,失去了再进一步过滤的能力。在Rails3.2以后就应该都转向使用where方法进行条件过滤查询了。

欢迎来我的博客http://blog.csdn.net/abbuggy/article/details/8092928

热点排行
Bad Request.