使用rails和载波链接到PDF文件



我正试图在网站上获得一个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文件?

<%= link_to image_tag('/assets/pdf_image.png'), the_file.port_file.url, target: '_blank' %> 

在末尾添加一个.url

最新更新