Rails 权限编辑方法

来源:互联网 发布:粒子群蝙蝠算法的论文 编辑:程序博客网 时间:2024/06/06 07:48

 权限编辑

 

条件:

@roles.size = 100

 

显示:

<%@roles,each |role| do%>

<input type="checkbox" name="role"  value="<%=role.id%>">

<% end %>

 

后台:

     rids = params[role]

     #新role

     rolesID = []
     if !rids.nil?
      rids.each do |rid|
        rolesID << rid.to_i
      end
    end

    #查询旧权限

    sql = " ... ... "

   old_roles = ....find....

     #已有权限id
    old_ids = []
    old_roles.each do |r|
      old_ids << r.role_id
    end

 

    #增加的权限id,例如:{1,2,3} - {1,2,4} = {3}
    add_ids = rolesID - old_ids

 

    #删除的权限id,例如:{1,2,4} - {1,2,3} = {4}
    del_ids = []
    if !old_ids.empty?
      del_ids = old_ids - rolesID
    end

 

    #分别对添加和删除的权限进行数据库操作

    ....................

    ....................

    ....................