我是 ruby 和 rails 的新手,我正在尝试让可用角色显示在下拉列表中,(它曾经在我手动制作时工作,但我最近发现 rails_admin),我读过很多,(我没有角色模型或控制器,因为角色永远不会改变,一个用户只能有 1 个角色)。
注意:我也安装了 Devise 和 CanCan gems。
所以我在我的 user.rb 模型上有这个常量 ROLES,它存储角色,我希望当我使用 rails_admin 创建或编辑用户时,角色而不是简单的输入字段,显示一个由填充的下拉列表那个名为 ROLES 的常量。
这是我到目前为止所拥有的:
class User < ActiveRecord::Base
ROLES = %w(Admininistrator C1 D1 M1 M2).freeze
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me, :role
#Tried this, no luck
def role_enum
[['Administrator'],['C1'],['D1'], ['M1'], ['M2']]
end
#And this, also no luck
def ROLES_enum
[['Administrator'],['C1'],['D1'], ['M1'], ['M2']]
end
end
并且还尝试在 rails_admin.rb 文件中取消注释
config.model 'User' do
configure :role, :string
end
不走运,就像我说的,我对 Ruby 和 Rails 都是新手,但是我对 MVC 和 PHP 的框架 Symfony 有一些经验,但这对我来说是全新的。我会很感激我能得到的任何帮助。