如何从不同的文件夹结构实例化一个类(Rails)

时间:2012-01-17 15:59:02

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

使用Rails 3.2和ruby 1.9.3p0

我正在尝试gem delayed_job。我创建了一个文件lib / mailing_job.rb,其中我有类MailingJob。

在app / controllers / requests_controller.rb下的控制器中我正在调用

job = MailingJob.new(@request)

但这会返回错误

uninitialized constant RequestsController::MailingJob

我认为这是因为我需要一种在不同文件夹结构下引用类的正确方法。

我知道如何从另一个文件夹中的不同文件(类)中实现类MailingJob吗?

2 个答案:

答案 0 :(得分:2)

Rails 3不包含加载路径中的lib文件夹,因此您的应用程序不知道如何查找该类。

你可以修改config/application.rb并添加一行来指示rails也像这样查看lib文件夹

config.autoload_paths += %W(#{config.root}/lib)

答案 1 :(得分:1)

在初始化程序中(例如config / initializers / delayed_job.rb),执行此操作(无所谓)

require 'mailing_job'