2009-10-16 5 views
0

표준 모델 출력에 대해 하나의 작은 수정을하기 위해 반복해서 동일한 작업을 반복합니다. 제품에 대한 정보를 저장하는 일련의 테이블이 있으며 가격은 모두 저장됩니다. 가격은 미국 달러로 저장되지만 출력은 사용자가 원하는 통화로 세션에 저장됩니다.범위가있는 기본 모델 출력의 기본 수정

예 :

Product Detail Blah Price 
Hammer Red  More 5.00 
Nail  Blue Stuff 3.99 

내가 전화 할 때 있도록 출력 수정하는 간단한 강력한 방법이 있나요 : 나는

Product.all.currency('EUR') 
Product.find(22).currency('EUR') 
Product.find(:all, :conditions => 'etc etc').currency('EUR') 

또는

같은 것을 첨부 할 수

Product.all 

Product.all.currency(0.69) 

그리고 Price 열의 모든 항목을 단순히 곱하면됩니까? named_scope가이 작업을 수행 할 수 있습니까?

답변

0

신경 끄시는 ...

named_scope :currency, :select => '*, price * 0.63 AS price' 

내가 좋아하는 것처럼 내가 정상 발견에 체인 수를 제외하고 작동하는 것 같았다.

1

은 같은 체인 재정렬 시도 :

Product.currency(0.69).all 

나는 것을 테스트하지 않은,하지만 이후 다른 임의의 조건에 문제가있을 수 있습니다 당신의 :select*

을 포함
관련 문제