按Rails表单的数据库属性选择范围

时间:2015-03-20 23:14:34

标签: ruby-on-rails ruby-on-rails-4

是否可以选择从数据库中提取最大数量选项的范围?我在下面有这个代码,但它只提供1作为选项。我希望通过@ item.quantity提供选项1。

<%= f.select(:quantity_requested, [1..@item.quantity], {}, { class: 'item-quantity form-control' }) %>

我看到的所有其他示例都是硬编码的数字。我很感激任何帮助,以了解为什么这不起作用。

谢谢!

1 个答案:

答案 0 :(得分:1)

我从未见过Ruby的动态数字范围。我只是尝试在irb中执行它并且它无法正常工作。另一种选择是使用这样的东西(未经测试,但想法是):

<%= f.select(:quantity_requested, 1.upto(quantity.times).to_a, {}, { class: 'item-quantity form-control' }) %>

修改 我刚刚在一个irb控制台上尝试了这个,它从零开始,所以你想要使用upto而不是时间,请看下面的输出:

a = 100
a.times.to_a
=> [0, 1, ... 99]

1.upto(a).to_a
=> [1, 2, 3,.. 99, 100]