【发布时间】:2026-02-09 15:15:02
【问题描述】:
我的用户模型有一个枚举定义。
class User < ActiveRecord::Base
enum program_of_study: [
:program_of_study_unknown, :program_of_study_cs, :program_of_study_ceg,
:program_of_study_is, :program_of_study_science,
:program_of_study_engineering, :program_of_study_fass,
:program_of_study_business, :program_of_study_others
]
end
在 simple_form 中我有:
<%= simple_form_for(locals[:user], wrapper: :horizontal_form, html: {class: 'form-horizontal'},
url: {action: (locals[:is_new] ? 'create' : 'update')}) do |f| %>
<%= f.error_notification %>
<%= f.input :program_of_study, collection: User.program_of_studies, include_blank: false, selected: locals[:user].program_of_study %>
<%= f.button :submit, class: 'btn-success' %>
<% end %>
但是,似乎虽然用户的program_of_study 是'program_of_study_science'(通过在rails 控制台中检查),但当我呈现表单时,显示的选择元素仍然具有'program_of_study_unknown' 作为显示的元素。没有选择正确的。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 enums simple-form