-1

私はUsers, Roles, and NetworkRails 3. でモデルUsersを持っNetworksており、Roles. が特定の の「管理者」のタイプをUser持っている場合、彼/彼女は他の のを変更できます。RoleNetworkRoleUsers

一括代入を介してRoleタイプを使用できないようです。では、管理者はどのようにしてNetworkother のポジション タイプを変更するのUsersでしょうか? これは本当に基本的な質問だと思いますが、答えが見つかりません。

私は CanCan を使用しており、 current_user メソッドがあります。これは単に、コントローラーが単純な if/then チェックを行って、ユーザーがネットワーク内で適切な役割を持っているかどうかを確認することを意味するのでしょうか?

一括割り当ては、認証のないページにのみ適用されますか?

4

1 に答える 1

1

だからいくつかのこと

  1. ユーザーが管理者の場合、ユーザー/1/編集ページにロール選択ボックスが表示されると思われます
  2. コントローラーの更新アクションでは、ユーザーが管理者であることを確認するための何らかの承認があります。
  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
于 2012-07-17T01:39:03.210 に答える