Question

Je viens juste de commencer l'apprentissage rubis sur des rails et je voudrais créer une application qui me permettra d'ajouter des fichiers à la base de données. À l'heure actuelle, je développe l'application des rails à l'aide du plug-in pour Eclipse Aptana et l'application utilise la valeur par défaut SqlLite db.

J'ai essayé la génération d'un échafaudage avec les paramètres suivants: documents title:string file:varbinary. Ensuite, je fais un « râteau » -> « db » -> « migration ». Quand j'émigre à localhost / documents et cliquez sur « Nouveau document » l'application échoue et affiche une erreur.

Ce que je voudrais faire est de cliquer sur « Nouveau document », un champ qui me permettra de rechercher un document sur mon ordinateur local, sélectionnez le document et l'ajouter à la DB sur l'application des rails.

Était-ce utile?

La solution

Paperclip est plus recommandé que attachment_fu ces jours-ci. Il est très simple et facile à utiliser avec votre modèle d'enregistrement actif.

Autres conseils

Est-ce un type particulier de fichier que vous souhaitez ajouter?

Je demande juste parce que si ce n'est pas des données d'une sorte que les avantages d'être dans une base de données (données textuelles peuvent être des recherches, des données binaires ne sont pas), vous êtes beaucoup mieux stocker dans le système de fichiers et le servir en droit - en particulier pour des trucs comme des images ou des vidéos - plutôt que de l'insérer dans une base de données et avoir à chaque fois que demande un utilisateur via l'application elle.

Je ne dis pas qu'il n'y a pas de raisons pour lesquelles vous voudrez peut-être d'avoir un fichier dans la base de données, mais je traite cela comme un dernier recours et en dix ans de programmation web, je ne l'ai pas rencontré un cas où il était nécessaire.

Je recommande vivement le plugin attachment_fu car cela vous permet de créer des modèles avec des pièces jointes assez bien, le plugin Paperclip est un autre bon aussi!

Si vous avez du mal à décider lequel utiliser, pour autant que je me souvienne, Paperclip le rend plus facile pour plusieurs pièces jointes, comme un album a de nombreuses photos et attachment_fu est plus facile pour les pièces jointes simples comme un utilisateur dispose d'un afficheur image.

Nous faisons quelque chose comme ça sur un site que je me débrouille. Au lieu de stocker ces fichiers dans une base de données, je suis d'accord avec les autres affiches ici et vous recommandons d'essayer quelque chose comme Paperclip.

Une mise en garde: si vous voulez un contrôle d'accès, assurez-vous que paperclip ne sauvegarde pas vos fichiers quelque part sous / publique, où tout le monde pourrait y accéder si elles connaissaient l'URL. Livrer des fichiers à l'utilisateur via send_file dans votre contrôleur.

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