2012-10-17 7 views
16

나는 다음과 같이 선언 my_mod.rb라는 파일에 모듈을 가지고있다. 그것은 분명 클래스 방법이 아니다, 그래서 나는 그것을 좋아 실행할 수 없습니다 :레일즈 콘솔에서 모듈의 메소드를 실행하려면 어떻게해야합니까? 난 그냥 <code>mymethod</code>를 실행하려면</p> <pre><code>module Reports module MyMod def mymethod ... end end end </code></pre> <p>:

Reports::MyMod.mymethod 

을 아직 나는 module_eval의 무리를 통해 갈 필요없이 파서에 의해 평가 방법을 얻을 수있는 몇 가지 방법이 있었다 기대했다 및 module_function 물건. 그것보다 쉽지 않을까요?

답변

24

당신은 단지 그것을 포함해야 레일 콘솔에서 실행하려면

> include Reports::MyMod 
> mymethod 
+3

수상작! 당신의 솔루션이 제 것보다 낫습니다. 나는 새로운 것을 배웠다. – gregates

1
class A 
    include Reports::MyMod 
end 

A.new.mymethod 
관련 문제