我有一个枚举,它有一个存储值,但是getter返回nil。
我有以下代码:
class Property < ActiveRecord::Base
enum building_type: [
:none_building_type, :pre_war_low_rise, :pre_war_mid_rise,
:pre_war_high_rise, :post_war_low_rise, :post_war_mid_rise,
:post_war_high_rise, :pre_war_loft, :post_war_loft, :pre_war_hotel,
:post_war_hotel
]
如果我在控制台中执行以下操作:
Property.last
我得到了
Property Load (0.8ms) SELECT "properties".* FROM "properties" ORDER BY "properties"."id" DESC LIMIT 1
=> #<Property id: 3, created_at: "2014-11-17 15:39:34", updated_at: "2014-11-17 16:28:48", name: "PropertyName", property_type: 1, description: "adsdsaads", building_type: "4">
但如果我这样做
Property.last.building_type
我得到了
Property Load (0.5ms) SELECT "properties".* FROM "properties" ORDER BY "properties"."id" DESC LIMIT 1
=> nil
答案 0 :(得分:9)
building_type
的数据库条目的字段类型看起来像是一个字符串,而不是整数(根据documents enum
映射到的整数。尝试更改数据库架构,它应该工作。