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