如何在rails enum属性中列出ruby?

问题描述:

我有一个类Foo有一个枚举状态:如何在rails enum属性中列出ruby?

Class Foo < ApplicationRecord 
    enum status: [:not_loaded, :loaded, :stale] 
end 

我如何进入状态属性的列表?例如使用simple_form我想做

<%= f.input :status, collection: list_of_statuses %> 

如果你Foo.statuses返回{ :not_loaded => 0, :loaded => 1, :stale: 2 },这样你就可以得到Foo.statuses.keys列出的属性。因此,simple_form声明将为

<%= f.input :status, collection: DataSet.statuses.keys %>