2017-08-17 35 views
0

我的模型:導軌5,生產模式,枚舉錯誤 「引發ArgumentError不是有效的」

class Job < ActiveRecord::Base 
    enum job_type: [:point, :mass] 
end 

我的控制器:

Job.new job_type: 'mass' 

錯誤日誌:

ArgumentError 'mass' is not a valid job_type. 

它發生僅在生產服務器中。服務器重新啓動後,錯誤消失並在幾個小時後返回。

版本: Rails的5.0.0.rc1,紅寶石2.3.1

+1

順便說一句,這些都是奇怪的版本要在生產運行。至少*,你應該升級到Rails 5.0.0(理想的是5.0.5或甚至5.1.3)和ruby 2.3.4(理想的是2.4.1)。 –

+1

如何修復它,當然:) – Anastasiya

+0

*「服務器重啓後錯誤消失,幾個小時後返回」* - 我不知道如何重現您的問題。如上所述,我將採取的第一步是在生產中使用穩定的導軌版本,而不是舊的候選版本。 –

回答

-1

您可以同時使用字符串或符號作爲工作類型值,正常工作兩個。

class Book < ApplicationRecord 
    enum name: [ :active, :archived ] 
end 

使用符號

Book.new(name: :archived) => #<Book id: nil, name: "archived", author_id: nil, created_at: nil, updated_at: nil> 

使用串

Book.new(name: "archived") =>

#<Book id: nil, name: "archived", author_id: nil, created_at: nil, updated_at: nil> 
相關問題