如何从Rails任务中要求所有文件?

时间:2016-12-05 01:58:39

标签: ruby-on-rails ruby-on-rails-4

我正在编写一个使用应用程序中所有模型的Rails任务。当我需要所有模型文件时,我仍然会收到NameError: uninitialized constant ComputerHelper

之类的错误

你可以做些什么来加载所有Rails文件或者初始化Rails,类似于启动Rails控制台时发生的事情?

2 个答案:

答案 0 :(得分:0)

您是否使用task :taskname => :environment do开始执行任务?

我相信:environment应该为你处理所有这些。

答案 1 :(得分:0)

您需要在佣金任务文件中包含您的帮助程序模块。

# app/helpers/computer_helper.rb
module ComputerHelper
  def foo_bar
    return "foo bar"
  end
end

# lib/tasks/test.rake
require "#{Rails.root}/app/helpers/computer_helper"
include ComputerHelper

namespace :test do
  task(:foo => :environment) do
    foo_bar
  end
end