路由问题?当尝试使用 pdf.js 在 rails 网络应用程序的 ruby 中显示 PDF 时

Routing issue? when trying to display PDFs in a ruby on rails web app using pdf.js

我对 ruby rails 和一般的 Web 开发还很陌生。我正在尝试在 link 的 rails 应用程序中使用 pdf.js 在浏览器中显示 PDF。我在 PDF 的资产文件夹中创建了一个新文件夹,并将此 link 放在我的页面 <%= link_to "PDF", root_path << "/assets/PDF.pdf" %> 中,这是它的存储位置。当我单击 link 时,我一直收到错误消息,提示“无法为 PrivateController 找到操作 'PDF'”。我假设这是一个路由问题,但我不知道如何更改路由以找到 PDF。这是我的默认路线 match ':controller(/:action(/:id))', :via => :get。请解释你的答案,就像我不知道我在做什么一样。

首先将您的文件夹 PDF 包含在资产路径中

并且在 config/environments/development.rb 和 config/environments/production.rb 中设置:

 config.assets.paths << Rails.root.join('app', 'assets', 'PDF')
  app.config.assets.precompile << /\.(?:svg|eot|woff|ttf|pdf|jpg|png)$/

现在您可以将路径用作

 <%= link_to "PDF", assets_path("your-pdf-file.pdf") %>

如果您不想将 PDF 用作资产,请在 your_app_path/public 文件夹中创建文件夹 PDF 并以

访问文件
 <%= link_to "PDF", "/PDF/your_file_name.pdf" %>

希望对您有所帮助