如何使用重命名的枚举

时间:2017-05-01 05:49:32

标签: ruby-on-rails activerecord enums

在Rails中,如何有效地更改枚举“密钥”?

我有一个枚举:订单模型的状态。

在app / models / order.rb

  

枚举状态:[:new_order,:processing,:deliver_to_customer,   :取消]

我播种了具有各种状态的记录。我最近将其中一个状态的名称从“deliver_to_customer”更改为“已发送”。

  

枚举状态:[:new_order,:processing,:deliver,:cancel]

在Rails控制台中,当我查看以前具有“deliver_to_customer”状态的订单时,它仍然可以。 order.delivered_to_customer? >> true order.delivered? >> 'undefined method' error

有没有办法更新枚举的getter和setter,因为它只是存储在db中的整数?

1 个答案:

答案 0 :(得分:2)

好像你在更改模型中的值后没有重新加载控制台。尝试重新加载控制台。

因为enum生成方法运行时,启动服务器或控制台时。

您可以查看文档here