我只是按照教程“https://github.com/EppO/rolify/wiki/Tutorial”进行了非常好的工作。但我的问题不能通过表单添加角色而不使用Rails控制台。
<div class="field"><%= user_form.label :email %><br />
<%= user_form.email_field :email %></div>
<div class="field"><%= user_form.label :password %><br />
<%= user_form.password_field :password %></div>
<div class="field"><%= user_form.label :password_confirmation %><br />
<%= user_form.password_field :password_confirmation %></div>
<div class="field">
<%= f.label :roles %>
<div class="controls">
<% Role.all.each do |role| %>
<%= check_box_tag "user[role_ids][]", role.id, @user.role_ids.include?(role.id) %>
<%= role.name %><br />
<% end %>
</div>
</div>
<% end %>
“角色”列连接到角色表(“滚动角色”)
这是我的角色.rb
class Role&lt;的ActiveRecord ::基
has_and_belongs_to_many:users,:join_table =&gt; :users_roles
belongs_to:resource,:polymorphic =&gt;真
User.rb
class User&lt;的ActiveRecord ::基
belongs_to:account,:inverse_of =&gt; :用户
验证:account,:presence =&gt;真
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
端
任何帮助都很感激!!
答案 0 :(得分:1)
在用户表单中,选择下拉选择角色,
<%= user_form.select :role,options_from_collection_for_select(Role.all,"name","name) %>
将用户控制器中的创建操作修改为
@user = User.new(user_params)
@user.add_role params[:user][:role]