2012-06-28 21 views

Respuesta

0

El método options_for_select hace lo que quiere, pero solo si puede sembrarlo con los datos correctos. Esto significa que necesita una matriz con los valores apropiados. Por ejemplo:

options_for_select((0..28).to_a.collect { |v| v.to_f/2 + 1 }) 
15
select_tag "sizes", options_for_select((4..15).step(0.5)) 

Ésta es la forma en que he escrito ... pero es ésta la mejor manera de acercarse?

también, si quisiera que el 4.0/5.0/6.0 etc. lea 4/5/6 como números enteros, ¿hay alguna manera de hacer/incluir esto en una línea?

+1

Puede asignar los valores y convertirlos de flotantes a fixnums si son números enteros: '(4..15) .step (0.5) .map {| n | n% 1 == 0? n.to_i: n} ' –

+0

En realidad, parece que @DerekHall ya lo sugirió. –

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