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方法虽然能够进行条件过滤,但是返回的结果是一个列表,失去了再进一步过滤的能力。在Rails3.2以后就应该都转向使用where方法进行条件过滤查询了。
欢迎来我的博客http://blog.csdn.net/abbuggy/article/details/8092928