在一个表单中,我想要一个值为1到30的selectbox,并将值存储在db-column中。这有帮助吗?我看了select_tag
,但没找到一个好的解决方案。
有人可以帮忙吗?
答案 0 :(得分:1)
当您需要一个填充了非数据库数据的下拉选择框时,请使用select_tag
erb:
<%= f.select "make_num", 1..30 %>
haml:
= f.select "make_num", 1..50
或(更好的MVC)
在您的控制器中创建my_range = 1..30
my_range = 1..30
然后在你看来:
erb:
<%= f.select "make_num", my_range %>
haml:
= f.select "make_num", my_range
或(最佳MVC )
使用clem的解决方案:)
答案 1 :(得分:1)
我通常在模型中放置可接受的值范围
# app/models/widget.rb
class Widget < ActiveRecord::Base
RATING_VALUES = (1..10)
end
然后我可以在视图中引用它:
# app/views/widgets/_form.html.erb
<%= form_for @widget do |f|
<fieldset>
<%= f.label :rating %>
<%= f.select :rating, Widget::RATING_VALUES %>
</fieldset>
<!-- etc -->
<% end %>