Screencast: ActiveRecord Anfragen in Rails 3

Rails 3 führt ein paar Neuerungen in der Abfrage-Schnittstelle ein. Durch diese Neuerungen wird ActiveRecord schneller und einfacher zu benutzen sein. Ryan zeigt diese Woche wie die neuen Funktionen (incl. named scopes) genutzt werden können.

 

Download:

Download (17.8 MB, 10:43)
Alternativer Download für iPod & Apple TV (13.7 MB, 10:43)

 

Resourcen:

 

Quellcode:

# Article.find( :all, :order => "published_at desc", :limit => 10)
Article.order("published_at desc").limit(10)

# Article.find(:all, :conditions => ["published_at <= ?", Time.now], :include => :comments)
Article.where("published_at <= ?", Time.now).includes(:comments)

# Article.find(:first, :order => "published_at desc")
Article.order("published_at").last

# rails console
Article.all
articles = Article.order("name")
articles.all
articles.first
Article.recent.all
puts Article.recent.to_sql

# articles_controller.rb
@articles = Article.order("name")

if params[:hidden]
  @articles = @articles.where(:hidden => (params[:hidden] == "1"))
end

# models/active_record.rb
scope :visible, where("hidden != ?", true)
scope :published, lambda { where("published_at <= ?", Time.zone.now) }
scope :recent, visible.published.order("published_at desc")

Eingestellt am 22.02.2010 um 10:56

Kategorie: Tutorials

Be Sociable, Share!

Kommentare für diesen Artikel wurden geschlossen.

Suchen auf rubyonrails.de

Aktuelle Rails Version + Abhängigkeiten:

Gem rails-3.0.0
actionmailer (= 3.0.0, runtime)
actionpack (= 3.0.0, runtime)
activerecord (= 3.0.0, runtime)
activeresource (= 3.0.0, runtime)
activesupport (= 3.0.0, runtime)
bundler (~> 1.0.0, runtime)
railties (= 3.0.0, runtime)

Rails auf Rubyforge
Rails auf Github