2011-11-18 57 views
1

在表單中,我想要一個值爲1到30的選擇框,並將值存儲在一個db列中。有這樣的幫手嗎?我看着select_tag,但沒有找到一個好的解決方案。Newbie Rails 3 - select_tag - 數值

有人可以幫忙嗎?

+0

會有人一旦你接受了幾個答案,以前的問題。如果您不確定它是否爲綠色的複選標記,則爲 – Thilo

+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

使用克萊姆解決方案:)

+0

謝謝克萊姆,好辦法。 –

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 %> 
+0

+1是的我比我的解決方案更喜歡那個。模型總是比控制器好。謝謝克萊姆! –

+0

謝謝!完美作品 – Remco

+0

好聽!如果你可以接受這個(或任何)在這個問題上的答案,我會很感激。 – clem