rails 能不能 定义好 枚举字段 的哈希值 比如 true 代表 男 false 代表女 , 然后模板 渲染可以 自动 显示男女,我记得 django 是可以的
https://github.com/huacnlee/enumize
看这篇说明:
https://ruby-china.org/topics/38728
只能自己做 i18n 吧,毕竟要显示的语言可能不知一种。
感谢 答主 太谢谢了 !!!!!!
这个比较侵入原本的逻辑的,会改你获取到的字段值。。最好考虑下或者用的时候定好规则。
irb> @book.status "draft"
这个是 Rails 原本的设计,并且是一个最佳的实现。
你可以去看看 https://api.rubyonrails.org/classes/ActiveRecord/Enum.html#method-i-enum
实际上用 Enum 的方式,我们在代码层始终会用字符串的方式来使用 enum,而走 ActiveRecord 存储的时候,ActiveRecord 会把它自动转换为 int 类型。
以前用的时候没看到这里,项目里没规范好 在代码层 始终用字符串的方式来使用 enum,导致每个人写的不一样就挺乱的。 如果规范好使用的方式的话 enum 的确是很好用的,感谢分享。