Rails:$ / hour - 仅保存集合的一部分选择货币字段

时间:2016-03-14 23:01:45

标签: ruby-on-rails currency-formatting collection-select

在我的Rails表单中,我有一个字段用于选择一个人的费率/小时。我希望这在我的表单中显示为collection_select下拉列表,其中包含以下格式的选项:

每小时1.00美元

每小时1.25美元

每小时1.50美元

目前我有一个费率字段t.decimal "rate"

我的表单(我使用的是简单表单),目前只显示带小数点后两位的数字:

<%= f.input :rate, label:false, collection: (0..100).step(0.25).map{ |n| number_with_precision(n, precision: 2) }, input_html: {class: "rate-select", min: '0'}  %>

以上我所需格式的货币选择下拉列表以及围绕汇率的“每小时”,但仅将汇率保存为小数的最佳方法是什么?目前,不需要选择或存储货币,所以基本上我只想提取选择选项的数字部分。

1 个答案:

答案 0 :(得分:0)

您可以通过将2D数组传递给collection选项来实现。 E.g。

collection: [['$1.00 per hour', 1.00], ['$1.25 per hour', 1.25]]

每个子阵列相应地表示选项的文本和值。

一些ol'文档:http://apidock.com/rails/ActionView/Helpers/FormOptionsHelper/select