アプリのdeviseを使用して管理者ロールを作成する必要があります。devise を使用して基本認証を作成しました。アプリに考案したユーザー モデルがありますが、編集を表示してすべてのユーザーを破棄できる管理者が必要です。チュートリアルに従ってみましたが、どれも役に立ちませんでした。Rails 3.0.10 と Ruby 1.9.2-p290 を使用しています。
3544 次
2 に答える
3
migrationin を作成して、最初に role.rb を定義するだけです。
rails g model role name:string
次にrole.rbで
class Role
has_one:user
end
そしてユーザーモデルで
class user
belongs_to :role
end
2 つのロールを DB に挿入する
1.admin
2.user
あとはこれでチェック
if user.role.name == "admin"
# can do all your logic
else
your logic
end
ユーザーモデルに role_id:integer を必ず挿入してください
それを試してみてください.......
于 2012-04-19T06:36:22.467 に答える
1
あなたと同様の要件があり、ユーザーがサインアップできるようにしたくありません。すべて管理者が処理します。彼女は私がやったこと。
Admin という別のデバイス モデルを追加しました
rails generate devise MODEL
ユーザーモデルの「登録可能」を無効にして、ユーザーが自分でサインアップできないようにします
user.rb
class User < ActiveRecord::Base
# Include default devise modules. Others available are:
# :token_authenticatable, :encryptable, :confirmable, :lockable, :registerable, :timeoutable and :omniauthable
devise :database_authenticatable, :recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me, :first_name, :last_name, :role, :admin
# attr_accessible :title, :body
end
ここのサンプルを使用して、ユーザーの CRUD を有効にします: https://gist.github.com/1056194
最後に、ユーザーのコントローラーを次のように保護します
users_controller.rb
# Add this
before_filter :authenticate_admin!
お役に立てれば。
于 2012-04-19T09:35:47.727 に答える