权限编辑
条件:
@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
#分别对添加和删除的权限进行数据库操作
....................
....................
....................