1, -6ren">
gpt4 book ai didi

ruby-on-rails - 在 Simple_Form 中使用 Rails Active Record 枚举类型

转载 作者:行者123 更新时间:2023-12-04 02:34:33 25 4
gpt4 key购买 nike

我声明了一个带有 enum 的模型键入:

class Event < ActiveRecord::Base
enum event_type: { "special_event" => 0,
"pto" => 1,
"hospitality" => 2,
"classroom" => 3
}

然后在我的更新 View 中,我有一个表单:
<%= simple_form_for @event do |f| %>   
<%= f.input :event_type, collection: Event.event_types.keys %>
...
<% end %>

这很好用,我得到了一个填充了我的枚举类型的选择。
当我执行 @event.update(event_params)在我的 Controller 中,我可以检查数据库并看到 event_type字段已更新为正确的整数值。

但是,当我重新访问编辑页面时,选择显示 nil 值。如果我通过在表单中​​添加调试行来检查它的值:
<%= f.input :event_type, collection: Event.event_types.keys %>  
<%= debug @event %>

我看到 event_type 的值是正确的:
--- !ruby/object:Event
attributes:
...
event_type: '2'

但输入选择器仍然是空白的,而不是像它应该的那样显示“热情好客”。

任何想法将不胜感激。 :)

最佳答案

这条线工作得很好。 <%= f.input :event_type, collection: Event.event_types %>
您是否必须手动设置所选值?
你的 simple_form 版本是什么?

关于ruby-on-rails - 在 Simple_Form 中使用 Rails Active Record 枚举类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25317587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com