【发布时间】:2016-08-16 20:47:55
【问题描述】:
我有一个带有用例的 Rails 应用程序,用于在 collection_select 下拉框中显示价格。例如,产品名称及其价格,或客户和欠款。
我很清楚,简单地包含相关帮助程序以访问 number_to_currency 等函数是一种不好的 MVC 做法,但我可以在 Product 或 Payment 模型上使用自定义方法做的最好的事情是获得一个看起来像 20.2 美元的值。因此,它可读但次优,因为系统的大多数用户将期望 20 美元和 20 美分表示为 20.20 美元。
有人对轻松自定义 collection_select 的 text_method 有什么建议吗?
【问题讨论】:
-
我不明白你为什么说模型上的方法不可能?
-
我可以使用
float.to_s.split(".")[1].length == 1之类的方法来添加“0”,但这有点不雅? -
只需使用 sprintf 方法
sprintf("%.2f", float)。它像圆形,但双向工作
标签: html ruby-on-rails model-view-controller collection-select