相关疑难解决方法(0)

从Rails 4.1中的select中保存枚举

我正在使用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将颜色解释为整数而不是字符串?

ruby enums ruby-on-rails ruby-on-rails-4

101
推荐指数
7
解决办法
5万
查看次数

标签 统计

enums ×1

ruby ×1

ruby-on-rails ×1

ruby-on-rails-4 ×1