2

このエラーの取得:

NoMethodError in AwardsController#certificate 
undefined method `scan' for #<Array:0x0000000354bd40>

Gemfile:

gem 'pdfkit'

バンドルのインストールを実行

アプリケーション.rb:

require 'pdfkit'
config.middleware.use "PDFKit::Middleware"

ルート.rb:

match 'awards/certificate/:id' => 'awards#certificate', :as => :certificate, :via => :get

アワードコントローラー:

def certificate
    @award = Award.find(params[:id])
    html = render :layout => false 
    kit = PDFKit.new(html, :page_size => 'Letter')
    kit.stylesheets << RAILS_ROOT + '/public/stylesheets/scaffold.css'
    send_data(kit.to_pdf, :filename => "#{@award.nominee_fullname Certificate}", :type => 'application/pdf')
  end

レーキ ミドルウェア:

use PDFKit::Middleware

レーキルート:

certificate GET    /awards/certificate/:id(.:format)     awards#certificate

URL の末尾に .pdf を付けると、次のようになります。

Routing Error

No route matches [GET] "/highfive/awards/certificate/51"

私が間違っていることを知っている人はいますか?前もって感謝します。

4

1 に答える 1