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

前端之家收集整理的这篇文章主要介绍了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.

猜你在找的Ruby相关文章