【发布时间】:2014-10-28 18:12:52
【问题描述】:
我有一个Video 模型,其属性名为aspect_ratio,即enum:
ASPECT_RATIOS = [:four_three, :sixteen_nine]
enum aspect_ratio: ASPECT_RATIOS
属性存储为整数。
当我访问这个属性时,我得到一个枚举符号的字符串表示
video.aspect_ratio # four_three
video.aspect_ratio.class # String
但是,当我使用 video.attributes.each_pair 迭代模型的属性时,aspect_ratio 的值是一个整数。我需要以这样的方式迭代属性,如果属性是一个枚举,我会得到字符串值,而不是它的整数值。
以下也返回其整数值:
video.read_attribute(:aspect_ratio)
video[:aspect_ratio]
是否有另一种迭代方式来确保我获得枚举的字符串值?
【问题讨论】:
标签: ruby-on-rails activerecord ruby-on-rails-4 enums activemodel