2012-03-11 5 views
3

쉽고 깨끗한 위젯 개발을 지원할 수있는 대시 보드/포털 용 Rails 모델/컨트롤러를 설계하는 올바른 방법을 고민하고 있습니다. 나는 이미 (전환으로) jQuery/jQuery-UI/CSS 기본보기를 작성하여 열/순서 HTML을 처리하고 위젯을 재정렬/최소화/제거하는 컨트롤을 작성했습니다. 이제는 가장 좋은 방법으로 돌아오고 있습니다. 모델과 컨트롤러를 디자인합니다.유연한 위젯을 사용하여 레일 대시 보드를 설계하는 이상적인 방법

모든 위젯 정보를 찾을 수있는 중심 장소로, 위젯 모델이 있습니다. (지금은 아닌 ActiveRecord로) 이상적으로 위젯 인덱스 뷰는 컨트롤러에서 위젯 만 가져오고 모델에는 뷰를 렌더링하는 데 필요한 위젯 특성이 포함되는 것이 좋습니다. 여기에는 뷰가 특정 위젯의 부분 뷰를 내 대시 보드 뷰에 렌더링하는 데 사용할 수있는 위젯 "부분"및 "컨트롤러"속성이 포함됩니다.

내 위젯 컨트롤러에 부분 뷰에서 사용할 수있는 잠재적 인 위젯 관련 데이터가 너무 많아지기를 원하지 않습니다. 대신 위젯의 부분 및 컨트롤러를 지정하여 부분 렌더링 자체를 만들고 싶습니다. 그런 다음 부분 뷰와 컨트롤러는 해당 위젯에 필요한 모든 작업을 수행 할 수 있습니다.

Widget Controller Index --> render @widgets --> widget1 widdget1_controller/partial view1 
             \ \-> widget2 widdget2_controller/partial view2 
             \--> widget3 widdget3_controller/partial view3 

대시 보드 모델에는 열, 순서, 부분보기, 컨트롤러가 포함됩니다.

위젯 관련 부분 뷰와 컨트롤러는 컨트롤러와 뷰/위젯 폴더의 하위 폴더 아래에 위치하여 깨끗한 상태를 유지합니다.

AJAX 지원을 추가하려고 할 때 도움이되기를 바랍니다. 각 위젯 컨트롤러는 위젯 편집 또는 무언가 저장과 같은 자체 컨트롤러 액션을 처리 할 수 ​​있으며 클라이언트 브라우저가 원래 위젯 컨트롤러 등을 호출 할 필요없이 업데이트 된 정보를 얻기 위해 부분에 AJAX 호출을 할 수 있습니다.

너희들은 어떻게 생각하니? 더 좋은 제안이 있습니까?

답변

1

나는 Cells을 찾고 있습니다.

+0

이전에 셀을 살펴 봤지만 처음에는 대시 보드 솔루션을 시도 할 때였습니다. 나는 지금 되돌아 갔다. 그리고 그것은 내가 위에서 논의하고 있었던 것을 정확하게하는 것처럼 보인다. 일종의 짧은 대답이지만 점수를주지. :) – garlicman

2

이것은 늦을 수도 있지만 이라는 셀에는 기본적으로 액션과 아약스가있는 셀을 확장하여 작은 위젯을 만듭니다. 꽤 멋진데, 당신이 말하는 위젯 전체에 대한 자습서가 있습니다. 이것이 늦어지면 위젯에 대한 코드를 아주 비슷하게 포팅하는 것이 꽤 쉽다는 것을 알 수 있습니다.

관련 문제