2012-12-03 2 views
0

일부 데이터를 제공하는 중앙 앱의 API가있는 레일 3 앱이 있습니다.레일 3의 외부 API 요청 데이터 저장소

lib/ 폴더에 API 구현을 취소했으며 직접 세션 메서드에 액세스 할 수 없습니다. 그래서 질문 - 어떻게 라이브러리에서 세션에 액세스 할 수 있습니까?

답변

1

lib 또는 모델에서 세션에 액세스하는 것이 좋습니다. 세션 정보는 컨트롤러에서 직접 사용해야합니다.

모델이나 라이브러리에서 세션 정보를 사용해야하는 경우 컨트롤러에서 세션 정보를 처리하고 매개 변수로 전달하는 것이 좋습니다.

이유가 몇 가지 있는데 (주로 OOD) 문제를 감지하는 힌트는 개체를 테스트 할 때 세션 개체를 만들어야한다는 것이며 TDD에서는 좋지 않습니다.

+0

아마도 당신은 요점이 있습니다. 나는 정말로 쓸데없는 추상 엔티티를 실제로 만들 필요가 없다는 아이디어를 좋아하지 않습니다. – lifecoder