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

时间:2012-04-08 09:54:00

标签: ruby-on-rails ruby 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

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

class Customer::MyController < ApplicationController
  require 'ticket_pdf'

  def show
    ticket = TicketPDF.new
  end
end

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

uninitialized constant Customer::MyController::TicketPDF

我在这里做错了什么?

1 个答案:

答案 0 :(得分:12)

尝试

ticket = ::TicketPDF.new

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