我正在尝试在网站上找到pdf文件的链接。当有人点击链接时,它应该在新的浏览器窗口中打开pdf文件。
我在视图中有以下代码:
<% @filtered_portfolio_files.each do |the_file| %>
<li>
<% if the_file.is_picture? %>
<%= image_tag(the_file.port_file.picture) %>
<% else %>
<%= link_to image_tag('/assets/pdf_image.png'), the_file, target: '_blank' %>
<% end %>
</li>
<% end %>
如果文件是图像,则应显示图像,如果文件是PDF,则应显示链接到pdf文件的Adobe PDF徽标的虚拟图片。
现在这个循环经过两个文件。第一个是图像,第二个是PDF。它正确显示第一张图像,第二张图像正确显示PDF徽标的图像,但点击它时会显示一个页面
No route matches [GET] "/portfolio_files/4"
我也在视图中尝试过:
<% @filtered_portfolio_files.each do |the_file| %>
<li>
<% if the_file.is_picture? %>
<%= image_tag(the_file.port_file.picture) %>
<% else %>
<%= link_to image_tag('/assets/pdf_image.png'), the_file.port_file, target: '_blank' %>
<% end %>
</li>
<% end %>
但是停止加载页面并返回错误:
undefined method `model_name' for PortfoliofileUploader:Class
如何正确链接PDF链接以正确链接到pdf文件?
答案 0 :(得分:0)
<%= link_to image_tag('/assets/pdf_image.png'), the_file.port_file.url, target: '_blank' %>
在最后添加.url
。