2010-12-14 35 views
0

Je crée une application dans Rails où des ensembles d'images peuvent être créés, c'est-à-dire l'utilisateur télécharge un fichier de noms d'image et spécifie un chemin où ces images peuvent être trouvées sur le web.Utiliser des serveurs d'actifs définis par l'utilisateur dans Rails

Ainsi, par exemple, le fichier image contient:

image1.jpg 
image2.jpg 

et le chemin est spécifié comme http://www.user1-server.com/. Un autre utilisateur peut charger son propre fichier de noms d'image, mais spécifier un autre serveur: http://www.user2-server.com/ ou même http://my-fancy-server.com.

Est-il possible d'utiliser la fonctionnalité AssetTagHelper de Rails pour m'aider à générer les tags d'image? Par conséquent, si je suis dans le contexte de l'utilisateur 1, par exemple,

/users/1/images/1 et utilisation:

image_tag("1.jpg") 

il devrait livrer http://www.user1-server.com/images/1.jpg, mais pour /users/2/images/1 il doit retourner http://www.user2-server.com/images/1.jpg ou http://my-fancy-server.com/images/1.jpg.

+0

Avez-vous un ensemble fixe de serveurs ou y a-t-il un nombre N basé sur le nombre d'utilisateurs? www.user23423423-server.com? – Cory

+0

J'ai mis à jour la question ci-dessus. L'utilisateur devrait être en mesure de définir son propre serveur. – slhck

Répondre

1

Je ne pense pas que vous pouvez changer l'hôte actif dans Rails à la volée comme ça. Rails est assez intelligent pour ne pas définir ou remplacer l'hôte passé dans une balise d'image, cependant. Peut-être juste écrire une méthode d'aide ou quelque chose pour passer l'hôte correct?

+0

J'ai pensé que c'est probablement la seule alternative, mais peut-être que quelqu'un a une idée vraiment simple. – slhck