【问题标题】:How to use a renamed enum如何使用重命名的枚举
【发布时间】:2017-05-01 05:49:32
【问题描述】:

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

我在订单模型上有一个 :status 的枚举。

在 app/models/order.rb 中

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

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

枚举状态:[:new_order, :processing, :delivered, :cancelled]

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

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

【问题讨论】:

    标签: ruby-on-rails activerecord enums


    【解决方案1】:

    似乎您在更改模型中的值后没有重新加载控制台。尝试重新加载控制台。

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

    您可以查看文档here

    【讨论】:

    • 谢谢,成功了!我一直在执行控制台命令:重新加载!认为这就足够了——但退出并重新投入是我们所需要的。
    猜你喜欢
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多