Scopes라는 이름을 어떻게 재사용합니까?
-
06-07-2019 - |
문제
안녕하세요 저는 a입니다 named_scope
내 User
다음과 같은 모델.
named_scope :by_gender, lamdba { |gender| { :conditions => { :gender => gender } } }
나는 이것을 사용하는 다른 두 가지 스코프를 만들고 싶습니다.
named_scope :male, lambda { by_gender('male') }
named_scope :female, lambda { by_gender('female') }
무엇을 해야할지 아십니까?
해결책
하드 유용 인수 통과를 수행하는 클래스 방법을 제공 할 수 있습니다.
def self.male
by_gender('male')
end
def self.female
by_gender('female')
end
또는 당신이 사용하는 named_scope가 너무 간단하기 때문에 by_gender 범위를 잘라 내고 간단히 사용할 수 있습니다.
named_scope :male, :conditions => {:gender => 'male'}
named_scope :female, :conditions => {:gender => 'female'}
두 번째 옵션은 물론 조건부에 따라 BY_Gender 범위를 다른 곳에서 명시 적으로 요구하지 않습니다.
제휴하지 않습니다 StackOverflow