Rails版本:4.2.0
操作系统:Windows 7(64位)
您好,例如,假设我有一个带有帖子模型的rails应用。
如果我希望帖子模型有权限列,可以使用多个值中的一个 [公共,私有,不公开]
我实现这个的方法是在 posts 模型中添加一个整数列,但是检查这个值会很快变得混乱,因为我必须记住哪个值对应于哪个权限。< / p>
我怎么能实现枚举,所以我可以做像
这样的检查if post.visibility == POST_PUBLIC or post.visibility == POST_PRIVATE
答案 0 :(得分:1)
从Rails 4.1开始,您可以在ActiveRecord模型中拥有enum
个属性。例如:
class Post < ActiveRecord::Base
enum visibility: [:public, :private, :unlisted]
..
end
http://edgeapi.rubyonrails.org/classes/ActiveRecord/Enum.html