0

레일즈 애플리케이션에 이와 같은 모듈이 있습니다. 내 응용 프로그램 폴더 안에 폴더가 있습니다. 그 안에는 모듈이 있습니다.명령 프롬프트에서 레일 모듈 실행

module ExcelUpload 
class Eupload 
    def do_something 
    end 
end 

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

명령 프롬프트에서 위 모듈을 실행하는 방법. 레이크 작업처럼 실행하고 싶습니다. 예 : 번들 exec rake db : migrate

이 명령이 있습니까?

답변

0

모듈 이름은 .rb 파일을 보관할 폴더의 낙타 케이싱 이름이어야합니다. 여기에 module ExcelUpload

대신 module Extras이 있어야 응용 프로그램의 디렉토리 구조에있는 \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 내부,이 your_task.rake 내부 /lib/tasks

:

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 

간단합니다. :)

관련 문제