【问题标题】:What is the best way to get enum string name from integer value从整数值获取枚举字符串名称的最佳方法是什么
【发布时间】:2017-08-07 22:14:07
【问题描述】:

我需要通过整数值获取枚举状态的字符串名称,然后我会这样做

Order.states.find{|x| x[1] == data['stateId']}

有人知道更好的方法吗?

enum state: {
         created: 0,
         cancelled: 100,
         complete: 10,
       }

【问题讨论】:

标签: ruby-on-rails ruby enums


【解决方案1】:
Order.states.key(100) => 'cancelled'

【讨论】:

    【解决方案2】:

    这是一个消除幻数的解决方案。

    Order.states.key(Order.states[:cancelled]) => 'cancelled'
    

    【讨论】:

    • 这个表达式不能解决问题,如果我知道状态是 :cancelled,为什么我会在状态数组中找到它?就我而言,我有一个整数值
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 2018-10-30
    相关资源
    最近更新 更多