呈现存储在 S3 中的 Markdown 文件,并使用 shrine 上传 - Rails
Render a Markdown file stored in S3 uploaded with shrine - Rails
我正在使用神社将文件从我的 rails 应用程序上传到 S3。一切正常,但我不知道如何使用 redcarpet gem.
显示该文件
例如我可以这样做:
<div>
<%= markdown("##title
* ") %>
</div>
并且工作正常。
但是如果我这样做:
<%= markdown(@rfile.rfile.url) %>
正在向我展示从 S3 下载 link。
如何获取文件内容而不是文件 link?
调用 @rfile.rfile
returns 一个 Shrine::UploadedFile
对象,除了 #url
之外,它还有许多更方便的方法。这种方法是 #read
,它检索文件的内容:
<%= markdown(@rfile.rfile.read) %>
但是,在这种情况下,文件将被打开并读取,但不会关闭。所以最好用block调用#open
,在yielded IO对象上调用#read
,可以整齐的写成
<%= markdown(@rfile.rfile.open(&:read)) %>
我正在使用神社将文件从我的 rails 应用程序上传到 S3。一切正常,但我不知道如何使用 redcarpet gem.
显示该文件例如我可以这样做:
<div>
<%= markdown("##title
* ") %>
</div>
并且工作正常。
但是如果我这样做:
<%= markdown(@rfile.rfile.url) %>
正在向我展示从 S3 下载 link。
如何获取文件内容而不是文件 link?
调用 @rfile.rfile
returns 一个 Shrine::UploadedFile
对象,除了 #url
之外,它还有许多更方便的方法。这种方法是 #read
,它检索文件的内容:
<%= markdown(@rfile.rfile.read) %>
但是,在这种情况下,文件将被打开并读取,但不会关闭。所以最好用block调用#open
,在yielded IO对象上调用#read
,可以整齐的写成
<%= markdown(@rfile.rfile.open(&:read)) %>