inf:ruby:rails:active_record_magic
Table of Contents
Interesujące sztuczki magiczne w ActiveRecord
scopes
Nakładając kilka na siebie z tym samym atrubytem, ostatni jest brany pod uwagę:
class Car < ActiveRecord::Base scope :good, where(:id => 1) scope :bad, where(:id => 2) end Car.good.bad SELECT "cars".* FROM "cars" WHERE "cars"."id" = 2 Car.bad.good SELECT "cars".* FROM "cars" WHERE "cars"."id" = 1
Ale gdy zrobimy to samo bez użycia scopów:
Car.where(:id => 1).where(:id => 2) SELECT "cars".* FROM "cars" WHERE "cars"."id" = 1 AND "cars"."id" = 2
Fixed in Rails 4.
Callbacks
- Callbacki są wywoływane w porządku, w jakim są umieszczone w modelu,
- prawie zawsze umieszczamy je po deklaracji asocjacji, ponieważ asocjacje same są zaimplementowane jako callbacki.
inf/ruby/rails/active_record_magic.txt · Last modified: 2021/02/16 09:56 by 127.0.0.1
