我声明一个枚举类型的模型,如:
class Event < ActiveRecord::Base enum event_type: { "special_event" => 0,"pto" => 1,"hospitality" => 2,"classroom" => 3 }
然后在我的更新视图中,我有一个表单:
<%= simple_form_for @event do |f| %> <%= f.input :event_type,collection: Event.event_types.keys %> ... <% end %>
这很好用,我得到一个填充了我的枚举类型的选择.
当我在我的控制器中执行@ event.update(event_params)时,我可以检查db并看到event_type字段已更新为正确的整数值.
但是,当我再次访问编辑页面时,select会显示一个nil值.如果我通过在表单中添加调试行来检查其值:
<%= f.input :event_type,collection: Event.event_types.keys %> <%= debug @event %>
我看到event_type的值是正确的:
--- !ruby/object:Event attributes: ... event_type: '2'
但输入选择器仍然是空白而不是显示“热情好客”.
任何想法将不胜感激.