如何使用ActiveRecord枚举Rails获取可用属性列表

时间:2018-04-19 11:23:16

标签: ruby-on-rails ruby

让我有一个名为Fruit的简单模型,Fruit的实例将字段fruit_name作为字符串。

class Fruit < ApplicationRecord
  enum fruit_name: {
    banana: 'banana',
    apple:  'apple'
  }
end

是否有一种简单的方法可以访问枚举列表?正在搜索这样的内容:

  Fruit.allowed_attributes_for(:fruit_name)
  => ['banana', 'apple']

1 个答案:

答案 0 :(得分:0)

Fruit.fruit_names

这将为您提供水果名称的红宝石哈希。你的枚举也错了。

enum fruit_names: { banana: 0, apple: 1}

枚举在数据库中存储为整数,因此请小心使用它们。他们很棒。您也可以致电:

Fruit.banana

这将返回所有香蕉对象。