我在app / assets / images /中有一堆图像,当我渲染html视图时,图像存在于人们期望的位置。当我通过王子渲染pdf视图时它们不存在我只是得到这样的东西:Bd header70 b cc0e9cd02bd0b2ec1f31f22bbfe90be47fec42de002e9f5445603b82b492bdaa
在我的控制器中我有这个(根据Princely Github页面):
render pdf => 'ConsultantsQuote',
:template => 'quotes/show_consultant',
:handlers => %w[erb],
:formats => %w[pdf],
:stylesheets => %w[application pdf],
:layout => 'pdf',
:disposition => 'inline',
:relative_paths => true
在我看来: <%= image_tag(" bd_header70_b.png")%>
路径似乎是错误的,请参阅以下Prince列表中的片段:
2015年9月28日星期一08:59:43:/home/pjt/Q2/public//assets/bd_header70_b-cc0e9cd02bd0b2ec1f31f22bbfe90be47fec42de002e9f5445603b82b492bdaa.png:警告:无法打开输入文件:没有这样的文件或目录
路径应该是:/home/pjt/Q2/app/assets/images/bd_header70_b-cc0e9cd02bd0b2ec1f31f22bbfe90be47fec42de002e9f5445603b82b492bdaa.png Rails 4不再将图像存储在/ home / pjt / Q2 / public /中我不明白&# 34; //"一点都不。
我正在使用Ubuntu 14.04,Prince 10和Princely插件,而我正处于开发模式。
非常感谢您的帮助。
答案 0 :(得分:0)
上述问题的解决方案很简单。问题是,在dev模式下运行时,你的资产并没有真正预编译,因此/ public / ...中的路径并不存在,它只是内部映射到app / assets / images /中的文件。 ..所以运行 rake assets:precompile ,这将生成所需的。
请注意,在对JS进行任何更改之前,您需要运行 rake资产:clobber (Rails 4)或 rake资产:clean (Rails 3.2)iirc CSS否则您的更改将不可见,然后再次运行 rake assets:precompile 。