繁体   English   中英

渲染存储在S3中并与神社一起上传的Markdown文件-Rails

[英]Render a Markdown file stored in S3 uploaded with shrine - Rails

我正在使用shrine将文件从Rails应用程序上传到S3。 一切正常,但是我不知道如何使用redcarpet gem显示该文件。

例如,我可以这样做:

<div>
    <%= markdown("##title
    * ") %>
</div>

并且工作正常。

但是,如果我这样做:

<%= markdown(@rfile.rfile.url) %>

正在向我显示S3的下载链接。

如何获取文件内容而不是文件链接?

调用@rfile.rfile将返回Shrine::UploadedFile对象,该对象除了#url以外,还有许多更方便的方法。 在此类方法上是#read ,它检索文件的内容:

<%= markdown(@rfile.rfile.read) %>

但是,在这种情况下,将打开并读取文件,但不会关闭文件。 所以最好叫#open与块,并调用#read所让出的IO对象,可以整齐地写为上

<%= markdown(@rfile.rfile.open(&:read)) %>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM