2012-09-11 5 views
1

저는 Ruby on Rails와 MVC 스타일을 처음 접했습니다. 이 질문은 개념적으로 그다지 기술적이지 않습니다. 보기 기능에서 버튼을 눌러 사용자를 실행시키려는 일부 기능이 있다고 가정하십시오. myFunction 모델 또는 컨트롤러에서이 기능을 사용해야합니까?모범 사례 : 뷰에서 호출되는 함수를 어디에 배치 할 것인가?

+0

질문을 올바르게받을 수 없습니다. '사용자를 실행시키고 싶습니다'라고 말하면 무엇을 의미합니까? –

답변

1

함수가 특정 모델과 명확하게 관련되어있는 경우. "주문하기", "사용자 인증하기"를 선택한 다음 해당 모델에 배치하고 소량의 컨트롤러 코드를 추가하여 적절한 모델을 작성/검색하고 메소드를 호출하십시오.

분명히 모델 중 하나에 속하지 않는 경우 별도의 클래스 또는 모듈을 만들고 작은 양의 컨트롤러 코드를 추가 할 수 있습니다.

"skinny controllers and fat models"으로 인터넷 검색을 수행하십시오. 이는 일반적으로 레일스 프로젝트에서 선호하는 방법입니다. 예 : Jamis Buck의 this (오래되었지만 여전히 유용한) 게시물 또는 this more recent post을 참조하십시오.

0

비즈니스 로직을 수행하기 위해 모델을 사용하는 컨트롤러의 메소드로 이동해야합니다 (persistance와 반드시 연결될 필요는 없습니다). 아마도 RESTful 앱과 라우팅에 대해서도 읽어야한다. (가이드가 많이있다.)

0

컨트롤러에는 요청 매개 변수 및 응답/리디렉션 인 입력 및 출력이 있어야합니다. 따라서 사용자가 버튼을 클릭하면 myFunction이 나타나야합니다. 보기 도우미 안에 myFunctionmyFunction 함수를 호출하십시오. 그래서 당신의보기도 코드에서 깨끗해졌고 스키니 컨트롤러와 뚱뚱한 모델이 그림으로 나타납니다