我发现自己一遍又一遍地做同样的事情只是为了对标准模型输出进行一次小修改。我有一系列表格,我存储有关产品等的信息以及所有商店价格。价格以美元存储,但输出取决于用户想要的货币,存储在会话中。
示例:
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 :(得分:1)
尝试重新排序您的链接:
Product.currency(0.69).all
我没有对此进行测试,但由于您的:select
包含*
答案 1 :(得分:0)
...没关系
named_scope :currency, :select => '*, price * 0.63 AS price'
似乎有效,但我无法按照我的意愿将其链接到正常的查找。