2011-04-18 6 views
2

Je veux faire un CMS où je peux éditer la vue et les fichiers CSS en ligne dans mon navigateur. Comment cela peut-il être fait? Tout doit-il être dans une base de données?Rails comment modifier et enregistrer des fichiers dans le navigateur?

+1

Vous pouvez écrire des fichiers dans ruby, donc techniquement vous pouvez ouvrir le fichier css dans votre script et faire quelques modifications. Cherchez-vous des moteurs de gabarit dans les rails? – edthix

Répondre

3

Généralement Stack Overflow n'est pas pour la recherche, c'est pour la résolution de problèmes. Cela dit ...

  1. Non, vos ressources modifiables ne doivent pas être dans une base de données pour que cela fonctionne.
  2. Mais vous voulez qu'ils soient de toute façon; autoriser l'accès en écriture aux fichiers de votre application n'est pas la meilleure approche.
  3. La chaîne de rendu de Rails 3 vous permet de sous-analyser votre propre analyseur de vue et d'ajouter un chemin à la vue intégrée que vous pouvez tromper dans le chargement à partir d'une base de données relativement facilement. Si vos utilisateurs finaux écrivent quelque chose comme des modèles liquides, cela vous épargnera beaucoup de travail et vous permettra de le faire relativement facilement. Ils n'auront pas accès aux méthodes Ruby dangereuses, et vous n'aurez pas à faire tout le travail de sandboxing dans Ruby. Le CSS a moins d'implications sur le plan de la sécurité, vous pouvez donc facilement stocker du CSS brut dans la base de données et le laisser éditer à sa guise, puis le servir avec une requête stylesheets /: user_id/style.css (avec une mise en cache lourde, comme avec Varnish, pour sauver votre demande d'être assassiné).

Espérons que cela vous aidera à démarrer dans la bonne direction. Si vous décidez de vous connecter à la pile de rendu dans Rails, je vous suggère fortement de récupérer une copie de Crafting Rails Applications - l'une des rares applications exemples dans lesquelles elle vous guide fait juste cela à un niveau assez granulaire.

Questions connexes