2009-12-15 7 views
2

MVC 웹 응용 프로그램 (Ruby, Rack, Apache)을 가지고 있으며 편안하게 사용하고 싶습니다. 들어오는 URI를 받고 적절한 컨트롤러를 호출하는 디스패처가 있습니다. 내 생각에 컨트롤러 하나의 모델에 연결된 모든 작업을 처리 할 수 ​​있습니까? 나는 확실하지 않다 건은 다음과 같은 경우입니다 : 사용자가 여러 가지 항목이컨트롤러 및 편안한 응용 프로그램

, 어떻게 내가이 URI/사용자/USER_ID/항목을 사용하여 특정 아이템을 얻을 수 있습니다/내 말은 을 ITEM_ID는이입니다 어떤 일을 UserController 내에서 처리해야합니까? 아니면이 물건의 왕을 돌봐야하는 UserItemController와 같은 다른 "크로스 클래스"컨트롤러를 만들어야합니까? 은 내가 고마워요 :-) 분명 해요 희망, 컨트롤러 나 모델에서 방법의 뤽

답변

2

조직은 앱이 편안 여부가 될 것입니다 어떠했는지과 거의가 있습니다. 1 개의 컨트롤러를 1 개의 모델로 매핑하는 것이 이상적이지만 작업 (예 : login) 전용 컨트롤러가있을 수 있습니다.

보고 싶은 것은 routes.rb 파일입니다. 여기서 소스 등을 매핑합니다.

map.connect ':controller/:action/:id' 

나는

+0

멋진 기사, 감사합니다. – Luc

+0

처음에는 나에게 매우 유용했습니다. 그건 그렇고, upvoting/accepting 대답을 고려하십시오. 평판에 대한 자세한 정보는이 FAQ 게시물 (http://meta.stackexchange.com/questions/7237/how-does-reputation-work-on-stack-overflow/7238#7238)을 참조하십시오. – marcgg

+0

(SO!에 오신 것을 환영합니다!) – marcgg

0

컨트롤러에 얼마나 많은 코드가있을 것 the excellent article of Ryan Tomayko about REST을 읽어 보시기 바랍니다? 그들은 어떤 의존성을 가질 수 있습니까? 그 구급차가 바뀌면 재건해야 할 금액은 얼마입니까? 프로젝트 팀 전체에 걸쳐 세분화 된 책임을 상상할 수 있습니까? 일부 사용자는 사용자, 다른 항목은 항목에서 작업합니까?

필자의 경향은 컨트롤러의 수를 작게 유지하는 것인데, 병렬 개발을 가능하게하기 위해서만 분리 할 것이거나 "URL 공간"의 일부가 자체적으로 생명이있는 것처럼 보이는 경우 나머지는 안정적입니다.

컨트롤러 입상성에 대해 늦게 결정할 수 있다고 생각합니다. 입상 성을 높이려면 리팩터링해야합니다.

+0

- 코드가 없습니다 - 컨트롤러 내의 종속성은 무엇입니까? 글쎄, 그게 사실 알아 내려고하는거야. 그게 재가공 작업이 그다지 중요하지 않다고 생각해. - 프로젝트 팀 전체에 걸쳐 책임을 분담하지 않아. 예, 맞습니다.이 결정은 나중에 취할 수 있다고 생각합니다. 사실,이 경우에는 몇 가지 종류의 모범 사례가 있는지 알고 싶었습니다. 컨트롤러를 사용하여 여러 모델의 쿼리/업데이트 ... 또는 - 컨트롤러를 사용하여 특정 모델에 대한 컨트롤러를 사용하지만이 경우 교차 모델 관계를 처리하는 방법은 무엇입니까? 감사합니다. – Luc

관련 문제