2012-11-13 7 views
0

일부 방법을 범위로 사용할 수 있습니까? 예를 들어. 나는 params가 json에서 왔는지 확인하는 메소드를 만든 다음 params 쿼리에 따라 데이터베이스의 일부 데이터를 쿼리하고 기본 범위로 사용합니까?범위 지정 방법 사용

답변

1
HTH 클래스 메소드

에 정상적인 방법을 만들기 위해 클래스 메소드로

class MyClass 

    def self.klass_method 

    end 

    def ins_method 

    end 

end 

Myclass.klass_method => will work 
Myclass.ins_method => will not work 
Myclass.new.ins_method => will work 

시도 간다 인스턴스 방법으로 간다

범위 메서드는 클래스 메서드이며 범위를 반환해야합니다.

scope :colored, lambda { |color| where(:color => color) } 

을하고 사용 좋아 :

당신은 인수에 따라 범위 변경 이후 절차 적 범위를 사용할 수 있습니다

Product.colored("red") 

을하지만 문제는 기본적으로 절차 적 범위를 허용하지 않습니다 레일입니다 범위.

+0

이것이 내가 한 방법이며 효과가있었습니다. –

1

나는 정상적인 방법, 문제는 추측이 범위의 방법으로

+0

실제로 모델에서 스코프를 만들었고 내 컨트롤러에서 params를 사용하여 메서드로 사용했습니다. –