我有一个 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]
是否有另一种迭代方法来确保我获得枚举的字符串值?
最佳答案
您可以尝试最简单的方法:video.public_send(:aspect_ratio)
关于ruby-on-rails - 如何动态获取枚举的字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26615525/