2009-10-16 50 views
0

我發現自己一遍又一遍地做同樣的事情,只是對標準模型輸出做一個小修改。我有一系列表格,用於存儲有關產品的信息等,並且所有這些表格都存儲價格。價格以美元存儲,但輸出取決於用戶想要存儲在其會話中的貨幣。默認模型輸出的基本修改與範圍

例子:

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

有沒有修改的輸出,所以,當我調用一個簡單可靠的方法:

Product.all 

我可以附上類似

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

Product.all.currency(0.69) 

並簡單地乘以價格列中的所有項目? named_scope能做到這一點嗎?

回答

0

沒關係......

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

似乎除了工作,我不能鏈條正常的發現,因爲我想。

1

嘗試重新安排你的鏈接,如:

Product.currency(0.69).all 

我沒有測試過這一點,但因爲你可以與其他任意條件問題您:select包含*