如何从ruby-on-rails中的索引获取枚举值?

时间:2018-01-07 21:09:44

标签: ruby-on-rails ruby enums

例如,我在ruby-on-rails中有这个枚举:

class Foo < ActiveRecord::Base enum color: [ :red, :green, :blue ] end

默认情况下,索引应为:red - &gt; 0,:绿色 - &gt; 1,等等。

我希望通过索引获取枚举值,让我们说索引1,因此结果应为:green。有可能这样做吗?

更新

伪代码示例:

Foo.colors.find_by_index(1) # returns :green

2 个答案:

答案 0 :(得分:1)

Foo.colors返回哈希:

{:red => 0, :green => 1, :blue => 2}

您可以反转哈希以获取索引值

Foo.colors.invert
# {0 => :red, 1 => :green, 2 => :blue}

答案 1 :(得分:0)

你可以尝试这些

    #validate {
        display: none;
    }

    <form id="signup-form">
        <div class="line input-group">
            <input type="submit" id="validate"/>
            <button id="signup" class="btn glow-button" type="button">Sign Up</button>
        </div>
    </form> 

    var form = document.getElementById('signup-form');
    if (!form.checkValidity()) {
         form.querySelector('#validate').click();
    }  
相关问题