2013-03-25 5 views
0

모든 정수에 뷰에서 호출되는 1,25를 곱하고 싶습니다.레일즈는 모델의 모든 정수에 메서드를 적용합니다.

도우미 메서드를 만들어서보기에 모든 정수에 적용 할 필요없이이를 수행하는 현명한 방법이 있습니까?

예 : 컨트롤러에서 그것을 할 수있는 경우

class Product < ActiveRecord::Base 
    attr_protected :id 
    #pesudo code 
    def integer 
    this * 1.25 
    end 

end 

그것은 ... 최고

답변

1

당신의 Product 모델이 value 속성이있는 경우, 예를 들어, 단지 클래스 메소드를 작성하고 그런 다음 그 유형의 모든 객체에 대해 호출 할 수 있습니다.

class Product < ActiveRecord::Base 
    value_with_weight weight 
    value*weight 
    end 
end 

다음 원하는 목적지 예를 들어 @product.value_with_weight(1.25) .. 사용

편집 : 당신은 당신의 특정 모델의 범위에있는 정수 클래스를 대체하려면처럼 당신이 실제로 소리를 요청중인 그것을 달성하기위한 꽤 끔찍한 방법입니다. 그러나,이 Ruby 2.0에서 의도 한 것과 비슷합니다.

+0

Jeb 상세 검색이 내가 찾고있는 것입니다. –

관련 문제