我想使用生成器脚本在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