通过Form使用Rolify以及Devise和Cancan动态添加角色

我只是按照教程“ https://github.com/EppO/rolify/wiki/Tutorial ”非常好,工作正常。 但我的问题不能通过表单添加角色而不使用Rails控制台。





Role列连接到角色表(Rolify Roles)

这是我的角色.rb

class Role <ActiveRecord :: Base

has_and_belongs_to_many:users,:join_table =>:users_roles

belongs_to:resource,:polymorphic => true

User.rb

class User <ActiveRecord :: Base

belongs_to:account,:inverse_of =>:users

validation:account,:presence => true

rolify

attr_accessible:role_ids

#包括默认设计模块。 其他可用的是:#:确认,:可锁定,:超时和:omniauthable

设计:database_authenticatable,:registerable,:recoverable,:rememberable,:trackable,:validatable

#为您的模型设置可访问(或受保护)属性

attr_accessible:email,:password,:password_confirmation,:remember_me,:role_ids

#attr_accessible:title,:body

has_many:auditinits

结束

任何帮助都很感激!!

在“ 用户表单”中 ,选择“下拉”选择角色,

 <%= user_form.select :role,options_from_collection_for_select(Role.all,"name","name) %> 

修改用户控制器中的创建操作

 @user = User.new(user_params) @user.add_role params[:user][:role]