ruby-on-rails – 如何使用枚举类型字段生成模型?

我想使用生成器脚本在Rails中生成一个模型和相应的数据库表.数据库表有一个带有“枚举”类型的字段.如何生成它?

SQL中的表的定义:

create table works {
  id int unsigned not null auto_increment,nickname varchar(20) not null,sex enum('m','f') not null
};

Rails生成器命令:

script/generator work nickname:string sex:(what should I write here?)

解决方法

Rails 4.1添加了 ActiveRecord::Enum,它使用整型类型列模拟枚举.只要您愿意将列类型更改为数据库中的整数,就可以使用它们.

要使用这些枚举,请在您的生成命令中放入整数:

bin/rails generate Work nickname:string sex:integer

然后在生成的模型文件中添加对枚举的调用:

class Work < ActiveRecord::Base
  enum sex: [ :male,:female ]
end

详见Enum’s documentation.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...