0
我想更新表單,但提交時出現以下錯誤。Rails更新枚舉字段不是有效的
'接受' 不是一個有效的狀態
在我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>
「1」不是一個有效的狀態
在爲形式的表我都設置爲0默認狀態我的綱要文件,但是當我提出這種形式出來爲零。我是否需要將狀態切換爲字符串並將默認設置爲「已提交」?如何更新此表單而不會出現此錯誤?
t.integer "status", default: 0
我是個白癡...... –
@TrentonTyler發生了。如果發現我的解決方案有用給予好評。謝謝 – krishnar
在'enum'中添加'accepted'和'rejected'選項是正確的。雖然,其他合適的方式是將枚舉狀態設爲[:::submitted,:approved,:rejected,:accepted,:rejected] 將enum設置爲數組將自動爲其分配數組索引。您可以隨時更改訂單。 並使用'form.select:status,Model.statuses.keys.map {| u |而不是[u.titleize,u]}。我認爲它更乾淨。 – Aakanksha