Ruby on rails 将pdf扩展名附加到链接

Ruby on rails 将pdf扩展名附加到链接,ruby-on-rails,pdf,append,pdfkit,Ruby On Rails,Pdf,Append,Pdfkit,我知道这一定是一个重复的问题-我确实搜索了它,但找不到任何答案 我正在尝试从rails应用程序的索引视图中创建一些文档的简单链接。我正在通过PDFkit gem使用wkhmtltopdf插件。我可以简单地将.pdf扩展名附加到任何页面并获得一份pdf副本。这一部分很好用,我似乎能找到附加格式的正确语法。以下是我目前掌握的情况: <tr> shortened for brevity's sake <td><%= link_to 'Sho

我知道这一定是一个重复的问题-我确实搜索了它,但找不到任何答案

我正在尝试从rails应用程序的索引视图中创建一些文档的简单链接。我正在通过PDFkit gem使用wkhmtltopdf插件。我可以简单地将.pdf扩展名附加到任何页面并获得一份pdf副本。这一部分很好用,我似乎能找到附加格式的正确语法。以下是我目前掌握的情况:

<tr>
    shortened for brevity's sake
            <td><%= link_to 'Show', certification %></td>
            <td><%= link_to 'Edit', edit_certification_path(certification) %></td>
            <td><%= link_to 'Destroy', certification, method: :delete, data: { confirm: 'Are you sure?' } %></td>
            <td><%= link_to "Download PDF", certification_path(@certification, :format => "pdf") %></td>
</tr>

为了简洁起见缩短了
“pdf”)%%>
我试图从一开始就遵循Ryan的方法,但似乎他的方法一定被弃用了,否则我可能会做错事。


<tr>
    shortened for brevity's sake
            <td><%= link_to 'Show', certification %></td>
            <td><%= link_to 'Edit', edit_certification_path(certification) %></td>
            <td><%= link_to 'Destroy', certification, method: :delete, data: { confirm: 'Are you sure?' } %></td>
            <td><%= link_to "Download PDF", certification_path(@certification, :format => "pdf") %></td>
</tr>
为了简洁起见缩短了 “pdf”)%%>
好的,从您的代码来看,您似乎使用了认证和@certification。从你之前说nil不存在的评论来看,@certification没有任何价值

所以我相信对你来说正确的解决方法是

<td><%= link_to "Download PDF", certification_path(certification, :format => "pdf") %></td>
“pdf”)%%>

看起来是正确的,这个链接生成了什么html?我得到了一个
ActionController::UrlGenerationError
错误<代码>没有路由匹配{:action=>“show”,:controller=>“certifications”,:format=>“pdf”,:id=>nil}缺少必需的键:[:id]-显然缺少:id参数,但在使用上面的“show”链接时,这不是必需的