我正在编写一个使用应用程序中所有模型的Rails任务。当我需要所有模型文件时,我仍然会收到NameError: uninitialized constant ComputerHelper
你可以做些什么来加载所有Rails文件或者初始化Rails,类似于启动Rails控制台时发生的事情?
答案 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