Question

J'utilise Paperclip pour manche Avatar pour les utilisateurs et définir actuellement une image par défaut en utilisant:

:default_url => '/images/img-missing_:style.png'

Mais ce que je voudrais faire est quand un utilisateur enregistre, leur donner un avatar au hasard qu'ils obtiennent jusqu'à ce qu'ils télécharger leur propre.

Twitter fait avec son avatar « d'oeuf » et qui ont probablement une demi-douzaine de couleurs différentes qui s'assignés.

Comment puis-je y arriver?

Note, je ne suis pas vouloir montrer un avatar aléatoire chaque fois qu'un appel à l'utilisateur est fait, plutôt je veux qu'ils attribuer un avatar au hasard lors de leur inscription et ont qu'un bâton avec eux jusqu'à ce qu'ils télécharger leur propre .

Était-ce utile?

La solution

Disons que vous avez 10 avatars par défaut, vous pouvez utiliser le module de leur ID utilisateur afin de déterminer lequel est affiché. Cela serait cohérent et trivial à mettre en œuvre.

Autres conseils

Vous pouvez également utiliser la longueur du nom de l'utilisateur comme un moyen de déterminer quelle image est utilisé comme avatar par défaut, disons que je signe avec le nom d'utilisateur: méchant (ce qui est de 7 caractères)

vous pouvez utiliser 7 comme un moyen pour le numéro d'image de référence 7 (disons, 7.png) à définir comme l'avatar par défaut.

Pour le rendre plus cohérent, ajouter des clauses comme:

 0) First, check that the username falls within a plausible character length.. (say 6-14)
 1) if number is even, divide by 2 and use the result to pick up the image.
 2) if result is odd, use the number as it is to pick up the default avatar.

Alors, dans mon cas ci-dessus, vous pouvez utiliser 7 comme le nombre magique et peut être avatar 7.png par défaut pour cet utilisateur ..

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top