加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 使用带有Simple_Form的Rails Active Record枚

发布时间:2020-12-17 04:35:30 所属栏目:百科 来源:网络整理
导读:我声明一个枚举类型的模型,如: 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
我声明一个枚举类型的模型,如:
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'

但输入选择器仍然是空白而不是显示“热情好客”.

任何想法将不胜感激.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读