Rails 具有一组数字选项的选择器

Rails selector which has options a set of numbers

我想制作一个表单,用户可以在其中 select 1 到 30 之间的数字。我正在尝试做这样的事情:

<%= f.select("@currency.neural_network", "prediction_days", [1..30]) %>

但是,我收到以下错误。

Failure/Error: click_link 'Show'
     ActionView::Template::Error:
       undefined method `merge' for [1..30]:Array

整个表格的代码是:

<%= form_for @currency.neural_network do |f| %>
    <%= f.label "Days" %><br />
    <%= f.select("@currency.neural_network", "prediction_days", [1..30]) %>
    <%= f.submit "Predict", class: "btn btn-primary" %>
<% end %>

怎么样:

<%= f.number_field(:days, in: 1..30, step: 1) %>
# => <input id="currency_days" max="30" min="1" name="currency[days]" step="1" type="number">

它基本上是 returns 你一个 html 类型的输入标签 "number" 从 1 到 30 递增 1 乘 1。这就是你要找的吗?

查看 select 的文档。假设您希望将 prediction_days 作为 1 到 30 之间的值传递给您的控制器,并且 prediction_daysneural_network 对象的属性,那么以下内容应该适合您:

<%= f.select(:prediction_days, options_for_select(1..30)) %>