비표준 루비 파일을 어디서 Rails 앱에 넣어야하는지, 모범 사례가 없는지, 기본 디렉토리 (controllers
/models
등).어디서나 들어갈 수없는 레일즈 애플리케이션에 클래스를 넣을 위치에 대한 지침
저는 컨트롤러/모델 등에서 사용되는 클래스에 대해 이야기하지만 레일스 기반 클래스의 서브 클래스는 아닙니다. 모델에서 추출한 기능을 포함하여 덜 뚱뚱하게 만드는 클래스입니다. 모델 중 일부는 AR 모델이 아니지만 일부 모델은 "서비스"처럼 보이고, 일부는 그 사이 또는 다른 것입니다.
몇 랜덤 예 : PARAMS하거나 PARAMS의 처리를하는 "XCreator"객체를 캡슐화 오브젝트 등
- "전략"클래스 마지막에 일부 AR 모델을 생성하는 복잡한 작업을 수행합니다.
- 외부 API에 대한 요청을하거나 해당 요청과 응답을 캡슐화하는 클래스
- 실제 AR 모델 대신 사용할 수있는 가짜 모델 (예 : guest us
- Resque 작업 저장 레디 스로부터 정보를 판독 등의 보고서를 생성하는 데이터 처리와 같은 일부 특정 작업을 실행
- 클래스 및 Resque 작업 또는 퀴 작업에서 호출
- 클래스) ER
나는 지금 꽤 많은 것을 가지고있다. 그들 중 일부는 lib
에 추가되어 임의의 클래스와 모듈 더미로 끝나고, 어떤 것은 app/models
에 몰래 들어간다. 나는 어떻게 든 이것을 조직하고 싶습니다만, 나는 어디서부터 시작해야할지 모르겠습니다.
AR 모델 만 app/models
에 들어가야합니까? 또는 도메인이나 도우미 모델을 배치해도 괜찮습니까? 어떤 것이 모델인지 어떻게 결정합니까?
app
에 맞지 않는 모든 항목은 lib
으로 들어가야합니까? 또는 app
에 몇 가지 새로운 사용자 정의 하위 디렉토리를 추가해야합니까? 하위 디렉토리는 무엇이며 어떻게 맞춤 클래스를 나눕니 까?
프로젝트에서 어떻게 처리합니까? 나는 모든 프로젝트가 조금 다르다는 것을 알고 있지만 몇 가지 유사점이 있어야합니다.
더 많은 답변을 원한다. – carbonr
@ carbonr CodeClimate 기사가 내가 찾은 최고의 것이고, 나는 그것을 받아 들였다. "MyTurtleFaceSpace"규칙은 따라야 할 좋은 규칙입니다. 나는 또한 나중에 이것에 대한 후속 기사를 썼다 : http://blog.lunarlogic.io/2013/declutter-lib-directory/ –