JeuWeb - Crée ton jeu par navigateur

Version complète : [Rails] Servir du SVG qui utilise des données d'ActiveRecord
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Bonjour,
je fait appel à votre aide car j'aimerais généré un SVG d'après des données d'ActiveRecord, et je n'ai ABSOLUMENT aucune idée par ou commencer.... J'ai chercher des gem qui me mâcherait le travail, mais les gems prévu pour le SVG sont essentiellement faites pour des graphiques en barres et autres présentation d'analyses.

J'ai besoin de charger des images externes (.svg) et j'ai besoin de donnée provenant d'ActiveRecord, à ce sujet, je ne vois pas comment faire pour générer une image à partir d'ActiveRecord étant donnée que l'image est "externe" à l'application?

Merci pour tout élément de réponse, car là je suis vraiment pommé.
Le SVG n'est qu'un document XML. Il te suffit donc d'avoir des actions de contrôleur qui te servent du SVG. Les guides de Rails ont déjà dû t'apprendre à faire ça, n'est-ce pas ?

Il faudrait que tu détailles plus la partie qui te pose problème pour pouvoir t'aider plus efficacement.
La partie qui me posait problème est que je ne voyais pas du tout comment cela pouvais fonctionner et je savais pas ou poser le premier bout de code. J'ai finis par trouver ceci qui semble répondre à mes questions.

Y'a plus qu'à essayer... Merci.
Avec le système de rendu de Rails, tu peux faire en sorte que l'adresse http://example.org/users/42-maz.svg te serve un document SVG contenant ce que tu veux. Après tout, ce n'est qu'une vue comme celles dont tu as l'habitude, sauf qu'au lieu d'être du HTML c'est du SVG et qu'au lieu d'utiliser le moteur de rendu Haml ou Erb, tu utilises Builder ou l'excellent Rabl.


# Dans ton fichier mime_types.rb.
# Pense à relancer ton serveur si tu modifies ce fichier. :-°
Mime::Type.register "image/svg+xml", Confusedvg


# Dans ton fichier routes.rb.
resources :users


# Dans le contrôleur users_controller.rb.
class UsersController
def show
end
end


# Dans la vue users/show.svg.builder.
...