Photos
모델이 있다고 가정합니다. 이 모델의 경우 몇 가지보기가 있습니다. 최근 사진, 인기있는 사진, 좋아하는 사진 등.이 모델의 컨트롤러를 만드는 방법은 무엇입니까? 이 다른 옵션은 다음과 같습니다 index
행동과여러 가지 방법으로 제시해야하는 모델의 컨트롤러를 구성하는 방법은 무엇입니까?
한
PhotosController
. 인덱스 액션에 매개 변수를 보내고이 매개 변수에 따라 컨트롤러는 DB에 쿼리를 작성하고@photos
을 뷰에 반환합니다. 이것은 단점을 가지고index
액션이 상당히 커질 것입니다.위와 동일하지만, 어떤 질의를 할 것인가를 결정하는 논리가 서비스에 추출되어 제어기가 린 (lean) 상태를 유지한다.
favorite
등 여러 작업을recent
,popular
와한
PhotosController
하지만 아주 편안한 아니다.
여러 컨트롤러 -
RecentPhotosController
,PopularPhotosController
등 난 아직도 정상적인PhotosController
이 있어야하지만이 경우는show
,edit
작업을 hande합니다.
index
액션을
이러한 모범 사례가 확립되어 있으며 이러한 옵션 중 하나를 선택할 때 고려해야 할 사항은 무엇입니까?
확인 : 같은
뭔가. 한 가지 추가 질문 - 어떻게 인덱스 작업에 매개 변수를 전달해야합니까. 다른 목록에 대한 링크가있는 메뉴가 있다고 상상해보십시오. 링크는'photos_path (sort_type : 'recent')'과 같은 것으로 생성 될 것입니다. 따라서 매개 변수는 링크에서 하드 코딩됩니다. 이것이 올바른 방법입니까? –
예 괜찮아 보인다. – apneadiving