2009-02-26 1 views
1

Je génère des fichiers volumineux dans mon application Rails. Heureusement, ils ne doivent être générés qu'une seule fois. Je voudrais enregistrer ces fichiers sur le disque afin que je n'ai pas à les générer à nouveau.Répertoire pour stocker les fichiers mis en cache dans Rails?

Quel répertoire dans mon application Rails est l'emplacement le plus approprié pour mettre des fichiers générés par une application?

Merci!

Répondre

2

Si la sécurité des fichiers ne sont pas un problème, vous pouvez les mettre dans un sous-répertoire de public (par exemple, public/assets) qui dans votre script de déploiement est un lien symbolique dans un répertoire shared/public de sorte que lorsque vous redéployer les fichiers sont conservés.

Si la sécurité est un problème, la solution est similaire, même si vous ne voulez pas que le répertoire soit accessible par le Web. Au lieu de cela, vous utiliseriez un contrôleur pour contrôler l'accès et servir les fichiers avec send_file.

+0

Je comprends que je peux utiliser send_file, En fait, je fais actuellement avec les données. Mais dans quel répertoire dois-je stocker les données, en supposant que la sécurité est un problème? –

+0

Vous pouvez les stocker où vous le souhaitez, tant que ce n'est pas accessible sur le Web. Dans un déploiement Rails standard, il existe un répertoire partagé pour les éléments qui ne se trouvent pas dans le référentiel. Vous pouvez en créer un sous-répertoire (comme shared/assets) et y placer les fichiers. –