如何编写最简单的Rails select标签,以生成在0.5增量下步进的1-15数字选择?
我知道这一定很简单,但是我在语法上遇到了困难,我知道一定有比我写的更优雅的方法。
谢谢!
如何编写最简单的Rails select标签,以生成在0.5增量下步进的1-15数字选择?
我知道这一定很简单,但是我在语法上遇到了困难,我知道一定有比我写的更优雅的方法。
谢谢!
select_tag "sizes", options_for_select((4..15).step(0.5))
这是我的写法...但这是否是最好的方法?
另外,如果我想让4.0/5.0/6.0等读作整数4/5/6,有没有一种方法可以在一行中实现?
select_tag "sizes", options_for_select( (4..15).step(0.5).map{|n| n%1 == 0 ? n.to_i : n} )
options_for_select
方法可以实现你想要的功能,但前提是你需要提供正确的数据。这意味着你需要一个包含适当值的数组。例如:
options_for_select((0..28).to_a.collect { |v| v.to_f / 2 + 1 })
(4..15).step(0.5).map{ |n| n % 1 == 0 ? n.to_i : n }
- JD Isaacks