ruby-on-rails - 从 Controller Action 中调用/lib 中的类

标签 ruby-on-rails ruby ruby-on-rails-3

嗨,我对此有点困惑。我要解决的是我在 lib/目录中有一个名为 ticket_pdf.rb 的文件,我计划为我的应用程序生成一些发票 PDF。我想调用此类的一个函数来从我的 Controller 操作中生成 PDF。

ticket_pdf.rb 看起来像这样

class TicketPDF
  def generate_pdf (purchase)
    puts "Ticket ID = #{purchase.ID}"
  end
end

在 Controller 中我执行此操作。

class Customer::MyController < ApplicationController
  require 'ticket_pdf'

  def show
    ticket = TicketPDF.new
  end
end

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

uninitialized constant Customer::MyController::TicketPDF

我做错了什么?

最佳答案

尝试

ticket = ::TicketPDF.new

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

关于ruby-on-rails - 从 Controller Action 中调用/lib 中的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10061937/

相关文章:

ruby-on-rails - rspec 中的实例变量如何工作?

ruby-on-rails - 如何调用lib文件夹中的模块

ruby-on-rails - 在 RAILS 中单击后退按钮时禁用 Flash 消息而不禁用缓存

ruby-on-rails - rails 3 : how to generate custom error message from failed validation

ruby-on-rails - 如何测试 img 标签是否指向现有图像?

ruby-on-rails - 在插件中别名 activerecord 方法

arrays - 如何打印具有固定列宽的二维数组

ruby - 拖放对象并在放下前暂停

ruby-on-rails - Active Record - 查找和更新(仅当对象存在时)

ruby-on-rails - rails : How to set different ":message" for each one of the possible errors?