2013-05-13 14 views
6

私は、Active DirectoryとActive Directoryの認証用Deviseを併用しています。私はAdminUserとUserモデルを持っているので、Userモデルはadminを気にする必要はありません。しかし、管理者ページや管理者ページのユーザーは作成も編集もできません。私はそうしようとするたびに、それは私の内部のUserモデルとADMINUSERモデルので、奇妙なメッセージActiveAdmin:保護された属性を一括して割り当てることはできません:電子メール、パスワード、パスワード確認

Can't mass-assign protected attributes: email, password, password_confirmation 

を与えるだろう、私はすでに持っている:

attr_accessible :email, :password, :password_confirmation 

それを他の方法を試すためには、私はレールに行ってきましたAdminUserを作成しようとすると、AdminUserを作成してみると、すべて正常に機能していました。つまり、Admin Webページからの作成だけが失敗しました。

私はDevise for Authenticationを使用しています。このエラーは、UserモデルとAdminUserモデルの両方で発生します。

パスワードとpassword_confirmationについては、私はデータベースにこれらのフィールドを持っていませんが、Deviseはデフォルトでデータベースのパスワードを持っていません。

devise :database_authenticatable, :registerable, :rememberable, :recoverable, :trackable, :omniauthable, :omniauth_providers => [:facebook] 
     ##, :validatable 

    # Setup accessible (or protected) attributes for your model 
    attr_accessible :email, :password, :password_confirmation, :remember_me, :provider, :uid 

    # attr_accessible :title, :body 
    validates :email, :password, :first_name, :last_name, 
       presence: true 
    validates :email, uniqueness: true 

    has_many :devices 
    has_many :posts 
+2

あなたのattr_accessibleに ":as =>:admin_user"を追加する必要があるかもしれません。私はactive_adminの宝石のためにそれは絶対にわかりませんが、例えばこの宝石を使用している場合はhttps://github.com/fesplugas/typusで現在のユーザーの役割を指定する必要があります:as =>:admin_user – Mattherick

+0

私はこの質問を理解するのに役立つだろうと思う:as => "your-role" better..http://stackoverflow.com/questions/6877853/rails-how-to-declare-attr-accessible-for-mutliple-ロールなしで複製 – Mattherick

+0

管理者の作成フォームの外観は?場合によっては役立つ可能性のあるサーバーログを一覧表示します。 –

答えて

8

私は

attr_accessible :email, :password, :password_confirmation, :remember_me, :provider, :uid, :as => [:default, :admin] 

attr_accessible :email, :password, :password_confirmation, :remember_me, :provider, :uid 

を変更し、それが動作します:ここで

は、ユーザーモデルです。

関連する問題