如何在 rails 枚举属性上列出 ruby?

How to list a ruby on rails enum attributes?

我有一个具有枚举状态的 class Foo:

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

如何访问状态属性列表?例如使用 simple_form 我想做

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

如果你 Foo.statuses 它 returns { :not_loaded => 0, :loaded => 1, :stale: 2 },那么你可以得到 Foo.statuses.keys 的属性列表。所以 simple_form 声明将是

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