7
votes

GEM pour le pourcentage d'achèvement du profil dans les rails

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?

Merci!


1 commentaires

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?


3 Réponses :


3
votes

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.


0 commentaires

5
votes

Je suppose complétude-fu est ce que vous recherchez


2 commentaires

Merci! Exactement ce que je cherchais!


Le dernier commit était il y a 4 ans - prudent.



11
votes

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


2 commentaires

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.