我多年来一直在使用Prawn。现在我已经切换到ActiveStorage,事情发生了一些变化。我在Prawn :: Document中使用url_for或rails_blob_path时遇到问题。我想我会在这里发帖,看看是否有人对如何使用rails ActiveStorage在Prawn :: Document中嵌入图像有所了解。
我正在尝试从控制器调用Pdf时将路径作为参数传递的方法...如下所示:
pdf = IdBadge.new(@user, avatar_path: url_for(@user.avatar))
send_data pdf.render, filename: 'IDBadge.pdf', type: 'application/pdf'
然后在我设置的prawn文档中
@avatar_path = options[:avatar_path]
然后,从我调用的pdf中的方法
image(open(@avatar_path), fit: [100, 100], position: :center)
我在尝试解决这个问题时遇到了一些错误......目前该页面的超时时间为40000毫秒,这使我无法看到其他潜在错误。
有人在Prawn :: Document中嵌入了ActiveStorage图像吗?
答案 0 :(得分:0)
获取网址将如下所示:
user.avatar.variant(resize: "100x100").service_url
答案 1 :(得分:0)
我今天为此苦苦挣扎,直到偶然发现了这个github问题。 https://github.com/prawnpdf/prawn/issues/1111。您只需在#Intent;action=android.intent.action.MAIN;
category=android.intent.category.LAUNCHER;
launchFlags=0x30020000;
package=de.slova.huawei;
component=de.slova.huawei/de.slova.MainActivity;end
或generate
方法中放入:
render
如果将生成方法放到模型中,它将只是
pdf.image StringIO.open(@model.attachemnt.download)