2016-08-09 3 views
0

J'écris une application Rails et j'ai des articles dans Markdown rendus en utilisant la gemme Redcarpet. J'aimerais inclure des images dans mes articles, comment ferais-je cela? Où se trouve l'emplacement correct pour les images dans mon application et comment les afficher à partir de cet emplacement à l'aide de la fonction de démarquage?Rails - images avec Redcarpet

De même, si je voulais que l'utilisateur puisse attacher/incorporer une image dans son article, comment ferais-je cela?

Soit dit en passant, j'utilise Rails 5.

Répondre

0

Il est fondamentalement la même chose que démarquage régulière. Vous utilisez la syntaxe suivante:

![alt text](image_path_or_url) 

Cela compilera à:

<img src='<path_or_url'> alt="alt text">

Si l'image src est une url, rien d'autre est nécessaire.

S'il s'agit d'une image locale, vous devez vous assurer qu'elle est accessible sur le chemin que vous avez fourni.

Dans Rails, le répertoire public/ est disponible en tant qu'actif statique en développement. Dans la production, vous aurez besoin de mettre config.serve_static_assets = true dans app/config/environments/production.rb

Ainsi, par exemple si vous aviez une image à public/test.jpg alors vous pouvez utiliser ce démarquage:

![test image](./test.jpg) 
+0

Très bien, merci. Comment est-ce que je permettrais à l'utilisateur de télécharger dans le répertoire public? Et quand est-ce que je mettrais des images dans app/assets/images au lieu de public/images? – Alex

+0

Je n'utilise pas personnellement app/assets/images, donc je ne suis pas sûr comment cela fonctionne. Pour activer le téléchargement de l'utilisateur, utilisez probablement une gemme comme carrierwave ou paperclip –

+0

OK. Je vous remercie! – Alex