Fra*_*ter 7 ruby-on-rails paperclip
Paperclip提供了一种.url方法,用于获取要包含在视图中的附件的URL.
我需要在Ruby中实际打开附件作为文件.
大约六个月前,Paperclip的最新版本允许我们在附件对象上调用to_file.虽然没有记录,但它始终如一.但在某些时候它停止了工作.
我希望能够在验证器中打开文件本身(在这种情况下它尚未保存到其最终位置),或者在保存ActiveModel对象之后从完全其他方法打开文件(在这种情况下文件已被保存)移动到最终位置,可能在Amazon S3上.
似乎选项是:
file = File.new(object.attachment.path)
Run Code Online (Sandbox Code Playgroud)
...仅适用于本地文件,而不适用于S3.要么:
file = object.attachment.queued_for_write[:original]
Run Code Online (Sandbox Code Playgroud)
...只在第一次保存之前有效(我认为)?
似乎应该有一个简单的方法来打开文件(在类似Amazon S3的情况下,可能涉及将其复制到临时位置)并且我猜测答案与io_adapters有关,但我已经阅读了代码(以及相当多的StackOverflow问题),我仍然感到难过.
有没有一种标准方法可以将回形针附件打开为适用于所有情况的文件?
这将为您提供文件(假设您的模型附加了file
require 'open-uri'
file = open(yourmodel.file.url)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2409 次 |
最近记录: |