Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails ROR-未加载枚举_Ruby On Rails_Ruby_Caching_Activerecord - Fatal编程技术网

Ruby on rails ROR-未加载枚举

Ruby on rails ROR-未加载枚举,ruby-on-rails,ruby,caching,activerecord,Ruby On Rails,Ruby,Caching,Activerecord,在过去的几个月里,我们的rails应用程序遇到了一个问题,每当我们进行新的部署时,某些对象的枚举数的10倍中有5倍没有加载,从而导致抛出错误 概述:在我们的应用程序中,我们有一个用户模型,其中有一个enum状态(active,In_active),In_active表示用户已离开我们的平台,因此在验证用户时,我们检查如果user.status==:active则允许用户继续,否则抛出帐户已停用的错误。无论何时给出新部署,代码都会为所有用户抛出此错误,无论他们处于活动状态还是处于活动状态,为了进一

在过去的几个月里,我们的rails应用程序遇到了一个问题,每当我们进行新的部署时,某些对象的枚举数的10倍中有5倍没有加载,从而导致抛出错误

概述:在我们的应用程序中,我们有一个用户模型,其中有一个enum状态(active,In_active),In_active表示用户已离开我们的平台,因此在验证用户时,我们检查
如果user.status==:active
则允许用户继续,否则抛出帐户已停用的错误。无论何时给出新部署,代码都会为所有用户抛出此错误,无论他们处于活动状态还是处于活动状态,为了进一步调试此错误,我们在日志记录之后,开始记录抛出此错误时对象的状态,我们发现,对于我们的用户模型,没有加载枚举状态,这导致了此错误,因为当时状态为nil

我们遇到此错误的代码段

enum status: [:in_active, :active]
这是服务器重启前后的日志

before: "user_obj":{"id":1,"status":null,"status_db":null}
after:  "user_obj":{"id":1,"status":active,"status_db":active}
如果我们只是重新启动服务器,那么一切正常


有人能指出这里的问题吗?

到底抛出了什么错误?这是一个自定义错误,我们抛出说您的帐户已被停用。您能否显示身份验证代码的相关部分(可能是错误前的3行和错误后的3行)以及如何在您的用户类上定义枚举字段?仅仅通过阅读您的问题就很难理解可能发生的情况。您的枚举列有默认值吗?Bytw这个词是
非活动的
——而不是
处于活动状态的
。我已经更新了问题本身中的代码片段。
before: "user_obj":{"id":1,"status":null,"status_db":null}
after:  "user_obj":{"id":1,"status":active,"status_db":active}