Je cherche un bon bijou à gérer la gestion du «pourcentage d'achèvement» d'un flux de travail d'inscription. Fondamentalement, mon application permet à un utilisateur de ne vous enregistrer qu'un email et un mot de passe disposer d'un indicateur de type de style LinkedIn qui augmente à mesure que des champs tels que l'anniversaire et le sexe sont ajoutés. Un bon gemme existe-t-il pour aider à configurer un flux comme celui-ci? P>
Merci! P>
3 Réponses :
Je n'utiliserais pas de bijou pour cela. Pourquoi ne créez-vous pas de pourcentage complet sur votre profil utilisateur et utilisez-le pour graphiquement le pourcentage terminé dans la page de profil. Une fois l'utilisateur ajoute l'attribut pour la première fois simple, ajoutez le nombre de points souhaité à la balance. Vous pouvez également utiliser des chèques dans votre modèle utilisateur pour vous assurer que la balance reste à 100 ou moins de 100 afin de ne pas avoir de bugs impairs. p>
Je suppose complétude-fu est ce que vous recherchez p>
Merci! Exactement ce que je cherchais!
Le dernier commit était il y a 4 ans - prudent.
Voici une démo pour une solution très simple (et boiteux):
dans votre modèle, créez une matrice avec des champs à compléter, plus un champ entier pour stocker l'état actuel, par exemple: P>
class User < AR::Base PROFILE_COMPLETENESS = %w[email, website_url, personal-info, etc ] before_update :update_profile_progress, :if => Proc.new {|u| u.progress_status < 100} private def update_profile_progress progress = 0 PROFILE_COMPLETENESS.each do |field| progress += 1 unless field.blank? end self.progress_status = (progress / PROFILE_COMPLETENESS * 100).to_i end end
Comment puis-je voir dans les rails html.erb
@FAIQADAM User.Progress_Status. BTW, après 3 ans, je dirais que je voudrais utiliser un décorateur / présentateur pour les vues.
Pourquoi exactement votre recherche d'une bijou qui fait cela? N'est-ce pas quelque chose que vous pouvez implémenter dans votre code d'application directement?