Ruby on rails Rails更新枚举字段无效
我正在尝试更新表单,但在提交表单时出现以下错误 “已接受”不是有效状态 在我的Ruby on rails Rails更新枚举字段无效,ruby-on-rails,Ruby On Rails,我正在尝试更新表单,但在提交表单时出现以下错误 “已接受”不是有效状态 在我的pdform.rb模型中,我有这个枚举 enum status: { submitted: 0, approved: 1, rejected: 2 } 这是状态的输入。我曾尝试将第二个接受值切换到枚举中的值,但当我这样做时,会出现此错误 <div class="form-group row"> <%= form.label :status, class: 'col-2 col-form-la
pdform.rb
模型中,我有这个枚举
enum status: { submitted: 0, approved: 1, rejected: 2 }
这是状态的输入。我曾尝试将第二个接受值切换到枚举中的值,但当我这样做时,会出现此错误
<div class="form-group row">
<%= form.label :status, class: 'col-2 col-form-label' %>
<div class="col-md-5">
<%= form.select(:status, options_for_select([['Accepted', 'accepted'], ['Declined', 'declined']]), { include_blank: true }) %>
</div>
</div>
您的选项值被接受,被拒绝,这在枚举状态中未提及 因此,要么将它们添加到enum中 枚举状态:{已提交:0,已批准:1,已拒绝:2,已接受:3, 谢绝:4} 或 将表单选择选项更改为仅包含枚举中的值
<%= form.select(:status, options_for_select([['Submitted',
'submitted'],['Approved','approved'],['Rejected','rejected']]), {
include_blank: true }) %>
@TrentonTyler发生了。如果我发现我的解决方案有用。向上投票。感谢您在枚举
中添加接受
和拒绝
选项是正确的。不过,其他合适的方法是enum status:[:submitted、:approved、:rejected、:accepted、:defeed]
设置enum
,因为数组会自动为其分配数组索引。你可以随时改变顺序。然后改用form.select:status,Model.statuses.keys.map{{| u |[u.titleize,u]}
。我认为它更干净。@Aakanksha是的,两种方法都有效。很高兴再次认识你。:)
<%= form.select(:status, options_for_select([['Submitted',
'submitted'],['Approved','approved'],['Rejected','rejected']]), {
include_blank: true }) %>