2011-11-14 5 views
1

Je viens d'ajouter l'admin actif à mon application rails et je ne parviens pas à créer un nouvel utilisateur. J'utilise le modèle d'utilisateur que l'administrateur actif crée avec quelques colonnes ajoutées comme le prénom et le nom. Lorsque je remplis le formulaire pour un nouvel utilisateur et que je clique sur créer un nouvel utilisateur, cette page s'actualise mais ne sauvegarde pas mon utilisateur et ne va pas à la page de récapitulation avec le message réussi.Impossible de créer un nouvel utilisateur avec ActiveAdmin

ici est mon modèle AdminUser

class AdminUser < ActiveRecord::Base 
    devise :database_authenticatable, 
    :recoverable, :rememberable, :trackable, :validatable 

    attr_accessible :email, :password, :password_confirmation, :remember_me, :first_name, :last_name 

end 

Et voici ma classe admin actif

ActiveAdmin.register AdminUser do 
    index do 
    column :first_name 
    column :last_name 
    column :email 

    default_actions 
    end 

form do |f| 
    f.inputs "User Details" do 
    f.inputs :email 
    f.inputs :first_name 
    f.inputs :last_name 
    end 
    f.buttons 
end 
end 

Répondre

3

oublié d'ajouter ce petit gars au modèle ... FML

after_create { |admin| admin.send_reset_password_instructions } 

def password_required? 
    new_record? ? false : super 
end 
2

est de faire avec un bug rechargeant code dans Rails qui se manifeste lorsque votre environnement spécifie config.cache_classes = false.

Changez cela pour vrai dans votre config/environments/development.rb, redémarrez votre serveur, et vous devriez être capable de créer votre utilisateur.

Cependant ce n'est pas idéal, et une solution de contournement suggested here est de mettre ce qui suit dans votre config/environments/development.rb:

config.to_prepare do 
    Thread.current.keys.each{ |k| Thread.current[k] = nil if k.to_s =~ /_scoped_methods$/ } 
    end 

Bien que le bug semble être résolu, je vois la question 3.1.1 qui les correctifs de code ci-dessus .

Même s'il s'agit d'un bogue dans Rails, il est également enregistré en tant que bug in active_admin si vous souhaitez voir plus de discussions à ce sujet.

7

Ma solution:

ActiveAdmin.register User do 
    permit_params [:email, :password, :password_confirmation] 

    form do |f| 
     f.inputs "User" do 
     f.input :email 
     f.input :password 
     f.input :password_confirmation 
     end 
     f.actions 
    end 
end 
0

réponse de Upvoting @ DANPE. "Mot de passe est un champ obligatoire. Vous devez donc l'ajouter à permit_params et également demander un mot de passe dans le formulaire. Alors seulement, il sauvera le formulaire correctement. Voici mon permis chaîne de params qui fixe également d'autres problèmes avec la création d'un utilisateur ActiveAdmin mentionné ici: https://github.com/gregbell/active_admin/issues/2595

controller do 
    def permitted_params 
     params.permit :utf8, :_method, :authenticity_token, :commit, :id, 
       model: [:attribute1, :attribute2, etc] 
    end 
end 
+0

Naren i suivi cette solution et il résout le problème unpermitted mais cependant je ne sais pas pourquoi il ne fait pas mettre à jour l'action. J'ai essayé de mettre à jour l'enregistrement, mais après l'action de patch, il rollback. Avez-vous une idée pourquoi? http://stackoverflow.com/questions/24971627/activeadmin-after-create-redirecting-to-show-update-actions-error – BC2

Questions connexes