我正在使用Rails 4.1中的枚举来跟踪葡萄酒的颜色.
Wine.rb
class Wine < ActiveRecord::Base
enum color: [:red, :white, :sparkling]
end
Run Code Online (Sandbox Code Playgroud)
在我看来,我生成一个选择,以便用户可以选择具有特定颜色的葡萄酒
f.input :color, :as => :select, :collection => Wine.colors
Run Code Online (Sandbox Code Playgroud)
这会生成以下HTML:
<select id="wine_color" name="wine[color]">
<option value=""></option>
<option value="0">red</option>
<option value="1">white</option>
<option value="2">sparkling</option>
</select>
Run Code Online (Sandbox Code Playgroud)
但是,在提交表单时,我收到一个参数错误说明'1' is not a valid color.我意识到这是因为color必须平等1而不是"1".
有没有办法强制Rails将颜色解释为整数而不是字符串?