Ruby on rails 查找图像时,wicked_pdf_image_标记解析为公用文件夹

Ruby on rails 查找图像时,wicked_pdf_image_标记解析为公用文件夹,ruby-on-rails,ruby,wkhtmltopdf,wicked-pdf,ruby-on-rails-5.1,Ruby On Rails,Ruby,Wkhtmltopdf,Wicked Pdf,Ruby On Rails 5.1,我想呈现一个用户上传到PDF中的图像。 我正在将图像保存到当前Rails目录public文件夹中 此时正在将图像保存在公用文件夹中。 一切都在开发中运作,但在生产中,它认为形象是资产的一部分,并提出了“形象不在资产中”的错误。 在开发过程中,它正在查看公用文件夹中的正确路径。 使用下面的代码制作时,它会查看图像的public/public 这是我视图中呈现PDF的代码 我试着用 wicked_pdf_image_标记(“public/#{image.original_filename}”)

我想呈现一个用户上传到PDF中的图像。 我正在将图像保存到当前Rails目录
public
文件夹中

此时正在将图像保存在公用文件夹中。 一切都在开发中运作,但在生产中,它认为形象是资产的一部分,并提出了“形象不在资产中”的错误。 在开发过程中,它正在查看公用文件夹中的正确路径。 使用下面的代码制作时,它会查看图像的
public/public

这是我视图中呈现PDF的代码


我试着用

wicked_pdf_image_标记(“public/#{image.original_filename}”)
但它返回一个assets错误,因为它在public/assets文件夹中查找

我也试过使用

wicked_pdf_image_标记(“/public#{image.original_filename}”)
但它会产生public/public文件夹,图像不在其中,而是向上一级


当我尝试检索图像时,我希望
wicked\u pdf\u image\u标记
查看图像的
public/
文件夹。

wicked\u pdf\u image\u标记
image\u标记
的缩写,其资产路径由wicked pdf规则解析(请参阅):

def-wicked\u-pdf\u-image\u标记(img,选项={})
图像\u标签\u pdf\u资源\u路径(img),选项
结束
def WICKE_pdf_资源_路径(资源)
如果(路径名=资产)\u路径名(资产).to\u s)=~URI\u REGEXP
路径名
其他的
“文件://{pathname}”
结束
结束
因此,当您需要一些变体时,没有任何东西禁止您直接使用正确的图像url/路径。问题是,wicked_pdf需要在本地文件系统中提供绝对文件路径(以及用于html预览的普通图像url):

image_tag“file://{file.expand_path(“public/your_image_path_goes_here.jpg”)}

另外,请注意,
original\u filename
不是存储中的文件名,而是上载过程中客户端计算机上的文件名。您需要使用存储路径,这取决于您的上载库,例如对于回形针,这类似于
yourmodel.image.path

,谢谢您的建议。使用
File.expand_path
使我能够正确检索图像。