使用带有步数的数字范围的轨生成选择标记

时间:2012-06-28 14:07:49

标签: ruby-on-rails forms select

编写rails选择标记的最简单方法是什么,它将为数字1-15生成一个选择,步进.5增量?

我知道这必须很简单,但我正在努力学习语法,我知道必须有一种比我更优雅的方式来编写它。

谢谢!

3 个答案:

答案 0 :(得分:16)

select_tag "sizes", options_for_select((4..15).step(0.5))

这就是我写它的方式......但这是最好的接近方式吗?

另外,如果我想让4.0 / 5.0 / 6.0等读取整数作为4/5/6,有没有办法在一行上做/包含这个?

答案 1 :(得分:2)

select_tag "sizes", options_for_select( (4..15).step(0.5).map{|n| n%1 == 0 ? n.to_i : n} )

答案 2 :(得分:0)

options_for_select方法可以执行您想要的操作,但前提是您可以使用正确的数据对其进行播种。这意味着您需要一个包含适当值的数组。例如:

options_for_select((0..28).to_a.collect { |v| v.to_f / 2 + 1 })