문제

안녕하세요 저는 a입니다 named_scopeUser 다음과 같은 모델.

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 범위를 다른 곳에서 명시 적으로 요구하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top