2013-12-10 46 views
0

我在我的Rails应用程序中有这样的模块。我的应用程序文件夹里有一个额外的文件夹。里面有我有一个模块。从命令提示符运行导轨模块

module ExcelUpload 
class Eupload 
    def do_something 
    end 
end 

def self.excel_upload 
    upload_service = Eupload.new 
    upload_service.do_something 
end 
end 

如何从命令提示符执行上述模块。我想执行像rake任务。 例如:bundle exec rake db:migrate

是否有任何命令?

回答

0

模块名称应该是保存.rb文件的文件夹的名称。这应该是module Extras而不是module ExcelUpload

建议您将该模块放入应用程序目录结构的\lib文件夹中。从那里,你可以简单地从你的控制台访问它像Extras::Eupload.excel_upload

0

您可以创建一个新的Rakefile并与来自任何地方的下方,那么你就可以访问轨加前缀:

APP_PATH = File.expand_path('../../config/application', __FILE__) 
require File.expand_path('../../config/boot', __FILE__) 
require APP_PATH 
# set Rails.env here if desired 
Rails.application.require_environment! 
0

创建耙文件your_task.rake内,/lib/tasks

这里面your_task.rake

namespace :your_task_name do 
    desc "Description About your task" 
    task :task_name => :environment do 
    # Write all your task here 
    end 

end 

现在从终端运行此任务:

rake your_task_name:task_name 

这很简单的权利。 :)