Как добавить существующий named_scope в анонимную область? - PullRequest
2 голосов
/ 17 сентября 2010

У меня есть модель:

class Shirt < ActiveRecord::Base
  named_scope :red, :conditions => { :color => 'red' }
  named_scope :blue, :conditions => { :color => 'blue' }
  named_scope :xl,  :conditions => { :size  => 'xl'  }
end

Я забыл, как легко добавить именованную область в существующую анонимную область:

scope = Shirt.scoped({})
#and how to add ie. :red to scope?

Ответы [ 2 ]

1 голос
/ 17 сентября 2010

Shirt.scoped({}).red?

0 голосов
/ 17 сентября 2010

Это может быть достигнуто с помощью следующего кода:

named_scope :colour, lambda { |colour_id| {:conditions => ["colour_id = ?", colour_id])}}

Вы можете связать именованные области:

Shirt.red.xl
...