我想使用生成器脚本在Rails中生成模型和相应的数据库表.数据库表具有"枚举"类型的字段.我该如何生成它?
表中SQL的定义:
create table works {
id int unsigned not null auto_increment,
nickname varchar(20) not null,
sex enum('m', 'f') not null
};
Run Code Online (Sandbox Code Playgroud)
Rails生成器命令:
script/generator work nickname:string sex:(what should I write here?)
Run Code Online (Sandbox Code Playgroud)
Ror*_*ane 41
添加了Rails 4.1 ActiveRecord::Enum
,它使用integer
-type列模拟枚举.只要您愿意将列类型更改为数据库中的整数,就可以使用它们.
要使用这些枚举,请integer
输入您的generate命令:
bin/rails generate Work nickname:string sex:integer
Run Code Online (Sandbox Code Playgroud)
然后enum
在生成的模型文件中添加一个调用:
class Work < ActiveRecord::Base
enum sex: [ :male, :female ]
end
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参阅Enum
文档.
归档时间: |
|
查看次数: |
16046 次 |
最近记录: |