Ruby on rails 创建新用户时出现声明性\u授权问题
我对我的应用程序使用了声明式授权,在创建新用户时遇到问题 我的用户型号代码: class User < ActiveRecord::Base ROLE_TYPES = ["admin", "user", "guest"] validates_inclusion_of :roles, :in => ROLE_TYPES def role_symbols @role_symbols ||= (roles || []).map{|r| r.to_sym} end 类用户Ruby on rails 创建新用户时出现声明性\u授权问题,ruby-on-rails,Ruby On Rails,我对我的应用程序使用了声明式授权,在创建新用户时遇到问题 我的用户型号代码: class User < ActiveRecord::Base ROLE_TYPES = ["admin", "user", "guest"] validates_inclusion_of :roles, :in => ROLE_TYPES def role_symbols @role_symbols ||= (roles || []).map{|r| r.to_s
“选择角色”%> 每次我尝试创建新用户并从下拉列表中选择角色时,查看投诉: Roles is not included in the list 列表中不包括角色 从脚本/服务器的输出中,我可以看到角色的实际设置: "user"=>{"name"=>"kc", "password_confirmation"=>"kc", "roles"=>"guest", "password"=>"kc", "email"=>"kc@one.com"} “用户”=>{“姓名”=>“kc”,“密码确认”=>“kc”,“角色”=>“来宾”,“密码”=>“kc”,“电子邮件”=>”kc@one.com"}
谁能告诉我怎么了?为什么验证无法通过?您是否可能在用户上设置了可访问的属性,以防止对某些属性进行大规模分配,并且
:角色不在其中?不过,您会在日志中收到有关此的警告。restful_身份验证生成的默认用户类确实包含attr_可访问调用,因此如果您也在使用该身份验证插件,则该类可能不需要添加
是否确实存在适合用户的角色属性类型?看起来您希望角色是表单中的单个字符串,但在声明性|u授权的代码中,您得到了(roles | |[])。map
,这表明该部分代码至少需要一个角色数组