2017-10-24 2 views

답변

0

lib/services 디렉토리로 시작할 수 있습니다. 일반적으로, Rails가 아닌 Ruby 프로젝트는 lib 안에 모든 코드를 포함하므로 좋은 선택입니다.

그러나 lib 디렉토리의 코드는 기본적으로 Rails에 자동으로 다시로드되지 않습니다. 또한

# config/application.rb 
config.autoload_paths << "#{Rails.root}/lib/services" 

와 설정은, 당신이 표준 명명 규칙을 따라야하지만 당신은 할 수 제대로 작동하기 위해 자동 로딩에 (lib/services/example.rb 클래스 Example를 포함해야합니다).

+0

autoload는 파일 내에서 느슨하게 처리되거나 Application 클래스 내에 들어갑니다? TY – paulorodriguez

+0

'Application' 클래스 안에 있습니다. – hedgesky

0

제 제안은 liblib/third_party/third_party_name이라는 하위 폴더를 만들어보세요.

이 폴더에는 파트너와의 연결에 필요한 논리가 포함됩니다.

그런 다음 비즈니스 논리를 포함하고있는 서비스 services/...을 만들고 커넥터를 호출합니다.

마지막으로 컨트롤러에서 서비스를 호출하십시오.

이렇게 모든 것이 그 자신의 계층을가집니다. 그 다음에는 나중에 동일한 파트너를 사용하는 두 번째 앱을 만드는 경우입니다. 자신의 보석 안에 lib/third_party/third_party_name을 추출하여 다시 사용할 수 있습니다.