新手问题 Rails 能不能定义好枚举字段的哈希值比如 true 代表 男 false 代表女

111ccc · September 27, 2020 · Last by hugo.huang replied at September 30, 2020 · 1932 hits

rails 能不能 定义好 枚举字段 的哈希值 比如 true 代表 男 false 代表女 , 然后模板 渲染可以 自动 显示男女,我记得 django 是可以的

只能自己做 i18n 吧,毕竟要显示的语言可能不知一种。

Reply to huacnlee

感谢 答主 太谢谢了 !!!!!!

Reply to sdfsd

这个比较侵入原本的逻辑的,会改你获取到的字段值。。最好考虑下或者用的时候定好规则。

Reply to hugo.huang
irb> @book.status
"draft"

这个是 Rails 原本的设计,并且是一个最佳的实现。

你可以去看看 https://api.rubyonrails.org/classes/ActiveRecord/Enum.html#method-i-enum

实际上用 Enum 的方式,我们在代码层始终会用字符串的方式来使用 enum,而走 ActiveRecord 存储的时候,ActiveRecord 会把它自动转换为 int 类型。

Reply to huacnlee

以前用的时候没看到这里,项目里没规范好 在代码层 始终用字符串的方式来使用 enum,导致每个人写的不一样就挺乱的。 如果规范好使用的方式的话 enum 的确是很好用的,感谢分享。

You need to Sign in before reply, if you don't have an account, please Sign up first.