从控制器动作调用/ lib中的类

niv*_*nka 8 ruby ruby-on-rails ruby-on-rails-3

嗨,我有点困惑.我要解决的是,我在lib /目录中有一个名为ticket_pdf.rb的文件,我打算为我的应用程序生成一些发票PDF.我想调用这个类的函数来从我的控制器动作生成PDF.

ticket_pdf.rb看起来像这样

class TicketPDF
  def generate_pdf (purchase)
    puts "Ticket ID = #{purchase.ID}"
  end
end
Run Code Online (Sandbox Code Playgroud)

在控制器中我动作我这样做.

class Customer::MyController < ApplicationController
  require 'ticket_pdf'

  def show
    ticket = TicketPDF.new
  end
end
Run Code Online (Sandbox Code Playgroud)

当我尝试创建这样的对象时,它会给我一个像这样的500错误.

uninitialized constant Customer::MyController::TicketPDF
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

Joh*_*mer 12

尝试

ticket = ::TicketPDF.new
Run Code Online (Sandbox Code Playgroud)

您已在顶级命名空间中创建了TicketPDF.