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 可以这样做吗?

4

2 回答 2

1

尝试重新排序您的链接,例如:

Product.currency(0.69).all

我没有测试过,但你可能有其他任意条件的问题,因为你的:select包含*

于 2009-10-16T13:09:33.640 回答
0

没关系...

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

似乎工作,除了我不能像我想要的那样将它链接到正常的发现。

于 2009-10-16T10:39:13.017 回答