繁体   English   中英

Rails枚举在Sidekiq作业中返回整数值

[英]Rails enum returning integer value in Sidekiq Job

仅当在Sidekiq作业中运行时,我们才会收到带有枚举类型的错误报告。 我不确定是每次运行还是随机运行,但是我们通常会遇到如下错误:

NoMethodError:1:整数的未定义方法“ to_sym”是什么意思? to_s

enum status: [:active, :inactive, :deleted]

def set_status
  return if self.status.to_sym == :deleted
  ...
end

添加为答案,因此此问题可以标记为已结束:

return if self.status.to_sym == :deleted则应return if deleted? 您应该使用枚举提供的魔术方法,而不是直接与该领域合作。

Sidekiq是Ruby的处理器,因此引入它会在Rails上创建不必要的依赖关系。

当然,这是我的意见,但是经过仔细考虑后,Rails应该是与它们各自的符号形式等效的一个处理数字。 例如,您可以将status设置为0,:active或'active',并进行适当保存,但是get期间返回的值应保持一致或提供确保一致性的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM