将enum声明为rails中的属性

时间:2017-01-04 20:10:47

标签: ruby-on-rails enums

这是将属性声明为枚举的正确方法吗?

enum condition: [:recent, :overhaul, :as_removed, :serviceable, :non_serviceable, :scrap]

还是应该?

enum condition: {recent: 0, overhaul: 1, as_removed: 2, serviceable: 3, non_serviceable: 4, scrap: 5}

第一个选项一直运行良好,但现在我遇到了使用Factory Girl编写测试的问题。

1 个答案:

答案 0 :(得分:1)

两个选项都是枚举的正确声明。第二个显式映射属性和数据库整数之间的关系。但是在您发布的示例中,最终结果将完全相同。

您可以在Ruby on Rails API documentation中找到Enum模块的详细文档。