2012-07-17 48 views
-1

我在Rails 3中有Users, Roles, and Network模型。UsersNetworks通过Roles有一个HMT关系。如果UserRole类型为'admin',并且具有特定的Network,则他/她可以更改其他UsersRoleRails中的质量分配和角色

看起来Role类型不应该通过批量分配提供。那么Network管理员如何更改其他Users的职位类型?我其实认为这是一个非常基本的问题,但我找不到答案。

我正在使用CanCan并有一个current_user方法。这是否仅仅意味着控制器会有一个简单的if/then检查来查看用户是否在网络中具有适当的角色?

质量分配只适用于没有身份验证的页面吗?

回答

1

所以,有两件事情

  1. 如果用户是管理员
  2. 在控制器上的更新动作,您可能显示一个角色选择框的用户/ 1 /编辑页面,你”就会有某种授权,以确保用户是管理员
  3. 在时机成熟时进行更新

class myModel < ActiveRecord::Base 
    attr_accessible :some_attr, :other_attr 
    attr_accessible :some_attr, :other_attr, :role_id, :as => :admin 
end 

class myController < ApplicationController 
    #admin check before doing the following 
    if @user.update_attributes(params[:user], :as => :admin) 
    redirect_to root_path 
    end 
end 
+0

谢谢!我看到了as:admin的东西,但不知道我是否误解了它。 – dewyze 2012-07-17 01:42:54