2010-09-17 2 views
2

У меня есть модель:Как добавить существующий named_scope в анонимную область?

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? 

ответ

0

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

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

Вы можете цепью названных областей:

Shirt.red.xl 
+0

Вы отправили, как создать область имен, но я хотел бы знать, как добавить существующую область в анонимную область. –

+0

Извините - неправильно понято. Вы имеете в виду: Shirt.scoped ({}). Red.xl – Codebeef

Смежные вопросы