美文网首页
关于rails的枚举

关于rails的枚举

作者: 33d8e4ec2cc9 | 来源:发表于2015-09-13 12:42 被阅读415次

当我们的表里有字段仅仅只是记录一个状态或者阶段亦或是类型时,我们一般会用整数,或者是string,但一般还是用整数的多,那么问题来了,当我们看到数据库里面的0,1,2,3的时候难免会忘记这个数字代表什么样的一个状态,这时候我们就需要用到枚举,我们用一个gem来完成,叫做Enumerize,非常好用的一个gem。

gem 'enumerize'

bundle

比如现在有个表是User,里面有个状态是性别,我们用0来表示男性,1来表示女性

那么在模型里面我们这么写

class User

  extend Enumerize

  enumerize: sex, in: {male: 0, female: 1}, predicates: {prefix: true}, scope: true

end

假设现在有个User的实例,性别是male

user = User.new(sex: 'male')

user.sex

=> "male"

user.sex_text

=> "male"  

user.sex_value

=> 0

user.sex_male?  (第一个参数的方法)

=> "true"

user.sex_female?

=> "false"

user.with_sex(:male)  (第二个参数的方法)

=># SELECT "users".* FROM "users" WHERE "users"."sex" IN ('male')

相关文章

  • 关于rails的枚举

    当我们的表里有字段仅仅只是记录一个状态或者阶段亦或是类型时,我们一般会用整数,或者是string,但一般还是用整数...

  • Rails 从入门到完全放弃 拥抱 Elixir + Phoen

    Rails 从入门到完全放弃 转载地址: Rails 从入门到完全放弃 前言 这是一篇关于Rails的开发经历的文...

  • PostgreSQL 和 Rails 的枚举类型 (六)

    1. 传统方式 有很多数据或资源是这样,具有一个类型或状态属性,比如,订单有pending,approve状态,博...

  • Rails Model 中使用 Enum (枚举)

    使用场景与个人理解:用作 model 中类似 status 这种字段的翻译。数据库中通常会把这样的字段存成 Int...

  • Rails Model 中使用 Enum (枚举)

    1. ActiveRecord::Enum 介绍 在 Rails 的 ActiveRecord 中,有一个 Act...

  • rspec 入门教程

    这是一个简单的关于Rails Rspec的简单的介绍 1 安装Rspec 在Rails的配置文件Gemfile配置...

  • 关于枚举

  • 关于枚举

    理解,我想从来都是一个愈加深入的过程,而不是在某个点可以终结。 枚举是什么?一种规范?使用关键字enum声明一个枚...

  • 关于枚举

    C语言中的另一种数据类型---枚举类型。枚举类型在iOS中也是很常用的 枚举的概念 枚举是C语言中的一种基本数据类...

  • Rails4使用Actioncable

    15年的时候,出了rails5,有个新特性actioncable.刚好公司有个关于推送的需求,但是Rails的版本...

网友评论

      本文标题:关于rails的枚举

      本文链接:https://www.haomeiwen.com/subject/xropcttx.html