2012-07-05 10 views
0

이 모델의 방법에 self이 필요한 구체적인 이유가 있습니까? 다른 컨트롤러에서 액세스하고 있습니다.왜 내가 스스로 필요합니까?

def self.search(query) 
    if query 
     find(:all, conditions: ['lower(first_name) LIKE ? OR lower(last_name) LIKE ?', "%#{query.downcase}%", "%#{query.downcase}%"]) 
    else 
     find(:all) 
    end 
    end 
+0

당신이 그것을가'self'없이 시도 했습니까? – Tobas

답변

4

루비에서는 self가 다른 언어의 정적 메서드와 동일한 클래스 메서드 (인스턴스 메서드와 반대)에 사용됩니다.

예 :

class Wtf 
    def omg 
    end 
    def self.lol 
    end 
end 

Wtf.new.omg 
Wtf.lol 
+0

이전에 요청 된 정확한 복제본을 참조하십시오. http://stackoverflow.com/questions/386115/to-use-self-or-not-in-rails?rq=1 – nurettin