Rails迁移中的默认值的常量

zbr*_*rox 6 ruby-on-rails

我刚刚开始使用Rails,并决定制作一个小应用程序来学习实用的东西.

我有一个用户类,它有一个用户组整数字段.我想使用常量添加到迁移a:默认值.

在我的用户模型中,我使用常量定义了不同的组,以便稍后我可以轻松地检查"admin?" 等等

t.integer :user_group, :default => USER
Run Code Online (Sandbox Code Playgroud)

我在db:migrate上收到以下错误

耙子流产了!期望[...]/app/models/user.rb定义USER

但是在用户模型中我有这个:

ADMIN = 1
USER = 2
Run Code Online (Sandbox Code Playgroud)

我有什么想法我做错了吗?

Bre*_*der 5

引用常量时需要包含类名。如果您的班级名为User,请尝试以下操作:

t.integer :user_group, :default => User::USER
Run Code Online (Sandbox Code Playgroud)

或者

t.integer :user_group, :default => User::ADMIN
Run Code Online (Sandbox Code Playgroud)