2011-04-10 4 views
0

예를 들어, 웹 사이트에서 데이터를 수집하고 객체 컬렉션을 반환하는 클래스가 있습니다. 이 데이터는 데이터베이스에 저장되지 않으므로 모델이 아닙니다. 이 클래스는 많은 컨트롤러에서 사용되므로 컨트롤러가 아닙니다.비즈니스 로직 클래스를 배치 할 위치

어디에서 파일을 가져올 수 있습니까?

답변

2

lib 폴더로 이동해야합니다! 아마 모듈로!

0

일반적으로 이러한 클래스는 lib 디렉토리에 배치합니다. 그리고 단지 그들을 요구하기보다는.

+0

require_dependency를 사용하려고합니다. 그렇지 않으면 변경 사항을 적용하기 위해 서버를 다시 시작해야합니다. – juanpaco

0

그것의 값 객체 및 사이트 전체에 동일하게 유지해야하고, 컨트롤러 또는 다른 구성 요소 모델의 refernce를 사용해야합니다, 클래스 refernce를 자기가 값 객체에 넣을 수 있습니다 모델과 클래스를에 있어야

1

나는 그들을 app/models에 넣을 것이다. 그러면 자동로드 경로 나 require 대 require_dependency를 처리 할 필요가 없습니다.

클래스가 데이터베이스에 유지되지 않는다고해서 그것이 데이터 모델의 일부가 아니라는 것을 의미하지는 않습니다. lib에 넣어두면 앱과 관련이없는 일종의 유틸리티 클래스라는 것을 알 수 있습니다.

레일은 모델과 지속성을 혼란스럽게합니다. 나는 당신의 비즈니스 로직을 당신의 영속 엔티티와 함께 ​​가지는 것이 좋다고 생각하지만, ActiveRecord 오브젝트 외부에서 모델 로직을 가질 수없는 이유는 없습니다.

관련 문제