Screencast: Resourcen vererben

Vererbte Resourcen können RESTful Controller erheblich vereinfachen, indem Standard-Actions eingesetzt werden. Ryan zeigt diese Woche wie das funktioniert.

 

Download:

Download(15.1 MB, 9:15)
Alternativer Download für iPod & Apple TV(14.4 MB, 9:15)

 

Resourcen:

 

Quellcode:

# Gemfile
gem 'inherited_resources'
gem 'has_scope'

# products_controller.rb
class ProductsController < InheritedResources::Base
  respond_to :html, :xml
  has_scope :limit, :default => 8

  def create
    create! { products_path }
  end
end

# reviews_controller.rb
class ReviewsController < InheritedResources::Base
  belongs_to :product
  actions :index, :new, :create
  has_scope :rating

  def create
    create! { collection_url }
  end
end

# models/review.rb
scope :rating, proc { |rating| where(:rating => rating) }
# config/locales/en.yml
en:
  flash:
    actions:
      create:
        notice: "Your {{resource_name}} has been created!"

Eingestellt am 06.09.2010 um 11:39

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