gpt4 book ai didi

ruby-on-rails - 如何测试 ActiveRecord 属性是否为 Enum?

转载 作者:行者123 更新时间:2023-12-03 23:24:33 27 4
gpt4 key购买 nike

我将如何测试 ActiveRecord 属性是否为 Enum? (根据 Rails 4.1 枚举声明)

它存储在数据库中,并使用 columns_hash 上的 type 方法将该属性标识为整数。

模型中的枚举定义

enum status: [ :in_progress, :accepted, :approved, :declined, :closed, :cancelled, :submitted ]

拉类型
irb(main):030:0> Application.columns_hash['status'].type
=> :integer

最佳答案

ActiveRecord::Enum添加 defined_enums模型的类属性 - 存储定义的枚举的哈希:

MyModel.defined_enums
#=> {"status"=>{"in_progress"=>0, "accepted"=>1, "approved"=>2, "declined"=>3, "closed"=>4, "cancelled"=>5, "submitted"=>6}}

要测试属性是否是枚举,您可以使用:
MyModel.defined_enums.has_key?('status')
#=> true

不幸的是, defined_enums没有记录。

关于ruby-on-rails - 如何测试 ActiveRecord 属性是否为 Enum?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25024970/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com