Primordial De Concevoir L'Enregistrement De Méthode De Création
J'aimerais définir un champ lorsqu'un utilisateur est créé. J'ai
class RegistrationsController < Devise::RegistrationsController
def create
super
@user.tag_list = params[:tags]
end
end
J'ai des cases à cocher qui passent les balises paramètre et j'ai vérifié dans les logs du serveur que les balises paramètre est passé. Cependant, lorsque j'appelle @user.tag_list dans la console je viens d'obtenir un vide de réponse []
.
J'ai l'impression que le problème réside dans ma manipulation de la méthode de création de concevoir. Je n'ai pas défini explicitement @user de n'importe où, mais je suis pas sûr de la façon de définir à l'aide de Concevoir. Personne ne sait comment définir un champ spécifique lors de l'utilisation de concevoir?
Planetpluto, vous devez ajouter votre propre réponse pour l'utilisation de
resource
et de la marque en guise de réponse, comme vous l'avez fait allusion dans votre commentaire Puneeth. C'est une bien meilleure et plus simple solution.OriginalL'auteur Vasseurth | 2012-04-12
Vous devez vous connecter pour publier un commentaire.
Pour future référence pour toute personne qui le trouve lors de la recherche pour comment remplacer concevoir des méthodes, en plus de Concevoir des méthodes d'accepter un bloc, donc quelque chose comme cela devrait fonctionner aussi bien:
Travaillé sur des Rails 5.1.
OriginalL'auteur streetlogics
Au lieu d'utiliser
super
d'invoquer le Concevoir::RegistrationsController de créer de l'action, le remplacer par le code de Concevoir::RegistrationsController de la méthode de création de laDésolé pour revisiter tel un vieux thread, mais Puneeth, pouvez-vous expliquer pourquoi il serait mieux de mettre dans le code de Concevoir la méthode de création, par opposition à l'aide
super
?réponse de mieux répondre à cette question. Le dispositif de créer des super a cette ligne "rendement des ressources si block_given?" qui permettra d'évaluer le bloc ajouté dans son exemple.
OriginalL'auteur Puneeth
Si vous ne voulez pas de réécrire le code complet de la méthode de création, vous pouvez tout simplement mis de la ressource variable à l'intérieur de la méthode protégée :build_resource de Concevoir::RegistrationsController, qui est appelée avant que la ressource est enregistrée.
Eu un problème avec la accepté de répondre à déclencher mon de validation à deux reprises et cette approche a apporté une nouvelle approche de mon application, merci.
OriginalL'auteur Pedro Augusto