Ruby on rails Rails 4-设置Rolify与Desive和pundit的关系

Ruby on rails Rails 4-设置Rolify与Desive和pundit的关系,ruby-on-rails,has-and-belongs-to-many,rolify,Ruby On Rails,Has And Belongs To Many,Rolify,我正在尝试在Rails 4中制作一个应用程序。我使用Desive进行身份验证,使用pundit进行授权。我想使用Rolify获得角色权限 我发布了这个问题,得到了一些非常有用的开始建议 我制作了一个控制器和视图,因为我希望角色由其他用户分配,并受任期等标准的约束,例如:学生将担任学生角色,直到课程结束 我还希望能够在应用程序扩展时添加新角色 我已经使用seeds.rb创建了初始角色。我还没有将角色的使用限制在管理员身上,但一旦我设置好并开始工作,我会制定一个权威政策来完成这项工作 我对HABTM

我正在尝试在Rails 4中制作一个应用程序。我使用Desive进行身份验证,使用pundit进行授权。我想使用Rolify获得角色权限

我发布了这个问题,得到了一些非常有用的开始建议

我制作了一个控制器和视图,因为我希望角色由其他用户分配,并受任期等标准的约束,例如:学生将担任学生角色,直到课程结束

我还希望能够在应用程序扩展时添加新角色

我已经使用seeds.rb创建了初始角色。我还没有将角色的使用限制在管理员身上,但一旦我设置好并开始工作,我会制定一个权威政策来完成这项工作

我对HABTM关系没有太多经验,我一直在努力了解它们是如何运作的

我想为我的角色制作一个显示页面,显示每个被分配角色的用户

我有:

<div class="formheader"><td><%= @role.name %></td></div>
        <div class="row">
                  <div class="table-responsive" style="margin-left:30px; margin-top:15px">
                      <table class="table table-bordered">
                          <tr>
                            <td><span class="intpolth">User</span></td>
                            <td><span class="intpolth">Commenced</span></td>
                            <td><span class="intpolth">Terminated</span></td>

                          </tr>


                                      <% @roles.user.each do |role| %>

                                <tr>
                                  <td><%= user.formal_name %></td>
                                  <td></td>
                                  <td></td>   
                                  <td></td>
                                  <td></td>
                                  <td></td>
                                </tr>                            
                            <% end  %>
我注意到我的rolify迁移生成了一个名为“users\u roles”的连接表。我理解惯例是表名按字母顺序排列,第一个表名是单数而不是复数。这可能与我的问题有关吗

现在我所拥有的只是我的用户模型中的一个方法,它说:

after_create :add_default_role

  def add_default_role
    add_role(:guest) if self.roles.blank?
  end
我在我的seeds.rb中扮演了一些角色,包括:guest

我的控制台显示我有这个角色:

  Role Load (4.2ms)  SELECT "roles".* FROM "roles" WHERE "roles"."name" = $1  [["name", "guest"]]
 => #<ActiveRecord::Relation [#<Role id: 23, name: "guest", resource_id: nil, resource_type: nil, created_at: "2016-01-16 09:46:16", updated_at: "2016-01-16 09:46:16">]> 
我只是刚刚开始,正在努力理解它是如何工作的

我应该说,这个gem的生成器的确是一个榜样,但它里面什么都没有。我是否需要向角色模型中添加任何内容才能使其正常工作

class Role < ActiveRecord::Base



end
而不是

try

@角色为零。我们可以看看您分配给@roles的是什么吗?
class Role < ActiveRecord::Base



end