Я хочу иметь выпадающее, которое состоит из значений 10% 20% 30% так на до 100.
В рубине Это может быть сделано
(10..100).step(10) { |i| p i }
как я могу преобразовать это в избранный тег?
Я попробовал:
<%=p.select :thc, options_for_select((10..100).step(10) {|s| ["#{s}%", s]})%>
но это печатает 10 11 12 13....100
Вы почти получили это:
<%=p.select :thc, options_for_select((10..100).step(10).to_a.map{|s| ["#{s}%", s]})%>
#step
возвращает перечислитель (или выход, как вы показали). Похоже, что вы хотите вызвать #collect
на этом перечислителе.
<%=p.select :thc, options_for_select((10..100).step(10).collect {|s| ["#{s}%", s]})%>
<%= select("sale", "discount", (10..100).step(10).collect {|p| [ "#{p}%", p ] }, { :include_blank => true }) %>