【发布时间】:2019-04-27 14:19:20
【问题描述】:
我在帐户模型上定义了一个名为 access 的枚举。
enum access: [:basic, :silver, :gold, :platinum]
效果很好,例如account.gold! 将值设置为“黄金”,然后 account.access 返回“黄金”。因此,我应该能够用acesss 的复数列出访问值的散列,但是account.accesses 会返回
NoMethodError: undefined method `accesses' for #<Account:0x00007f9e7827e408>
Did you mean? access
access?
access=
如果我执行'access'.pluralize,它会返回accesses,那么为什么account.accesses 不起作用?
【问题讨论】:
-
你确定 RoR 是枚举的复数形式吗?我知道它会对数据库实体执行此操作,但我看不出使用枚举执行此操作的意义。
-
是的,请参阅stackoverflow.com/a/25570511/1299362,它可能很有用,因为您可以编写在有人向枚举添加不同值后继续工作的方法。
标签: ruby-on-rails