2017-08-17 83 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> 
相关问题