我有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]
还有另一种迭代方法可以确保我获得枚举的字符串值吗?
答案 0 :(得分:2)
您可以尝试最简单的方式:video.public_send(:aspect_ratio)