2012-07-17 145 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