0

我想使用 gem 'wicked_pdf' 从 Ruby on Rails 应用程序中的 html 生成 pdf。要安装 wicked_pdf,必须将以下两个 gem 添加到 Gemfile:

gem 'wicked_pdf'
gem 'wkhtmltopdf-binary'

当我第一次只添加gem 'wkhtmltopdf-binary',然后运行bundle install然后启动应用程序时,rails s一切运行良好。

如果我添加gem 'wicked_pdf', 然后bundle install再次运行并在应用rails s程序启动时启动应用程序,但如果我通过localhost浏览器中的 打开它,则会出现以下错误:

.../.rbenv/versions/2.7.4/lib/ruby/gems/2.7.0/gems/web-console-4.1.0/lib/web_console/middleware.rb:134:in `throw': uncaught throw :app_exception (UncaughtThrowError)

该应用程序使用以下 gem 版本运行:

rails: 6.0.3
ruby: 2.7.4
puma: 4.3.8
wicked_pdf: 2.1.0
wkhtmltopdf-binary: 0.12.6.5

有一个堆栈溢出帖子询问相同的问题,答案如下:

wicked_pdf 版本 2.0.2 和 Rails 5.2.4.2 会导致问题。

如果您使用 1.4.0 版本,则可以正常工作

但这已经过时了,因为我的应用程序使用 Rails 6.0.3 运行,此外,我的一位同事证实,在他的单独应用程序中,wicked_pdf 在列出的 gem 具有相同版本的情况下可以正常工作。所以我的 gem 的版本在这里不会成为问题(尽管为了确保我将 wicked_pdf 的版本设置为 1.4.0,但仍然发生了同样的错误)。

我也尝试过:

  1. 我将Mime::Type.register "application/pdf":pdf 添加到config/initializers/mime_types.rb.

  2. 我为 Wicked_pdf 创建了一个配置文件rails generate wicked_pdf

我应该在配置文件中添加一些东西来解决这个问题吗?我的指导同事也验证了他wicked_pdf在没有配置文件的情况下在他的单独应用程序中工作。他们还尝试在他们的 PC 上克隆和运行我的应用程序,在这种情况下,他们遇到了同样的错误 - 所以它也与 PC 无关。任何想法在哪里看?

4

0 回答 0