1
잘 작동합니다. 나는이 같은 배열 클래스를 확장하지만 경우 :Extending Array는 초기화 프로그램을 숨 깁니 까? 내가 루비에게 1.8.7</p> <pre><code>my_array = Array.new(5, "A") </code></pre> <p>을 사용하고
는class Array
def my_function
self
end
end
후 초기화는 더 이상 왜 이런 일을 내가 그것을 어떻게 해결합니까 작업을하지 않기
wrong number of arguments (2 for 0)
을 반환?
나는 이것을 틀리게 설계하고 구현 한 레일즈 프로젝트 (2.3.5)를 상속하고, 물건을 떨어 뜨리는 것에 대해 업그레이드했다. 배열 확장은 모델 클래스에서 정의됩니다. :: Array가 작동하여 전역 범위로 이동하면 확장 메서드가 작동을 멈 춥니 다. 메서드는 다음과 같이 사용됩니다. MyActiveRecord.find (criteria) .my_function – batkuip
"find"가 배열을 반환합니다. 그러면 왜이 기능이 작동하지 않습니까? 오류 메시지가 "잘못된 인수 수 (1은 0)" – batkuip
아! 아니요,'ActiveRecord :: Base.find'가 배열을 반환한다고 생각하지 않습니다. Rails 콘솔에서'Model.find (criteria) .class'를 검사 해보십시오. 클래스가 리턴 한 것이 무엇이든간에 그것에 대한 확장 메소드를 정의하십시오. 별도의 클래스를 정의하지 않도록하십시오. –