문제

나는 많은 앱과 마찬가지로 90% 규칙적인 CRUD 물건과 10% "주스"인 앱을 작성하고 있습니다.

이 90%와 관련하여, 나는 가능한 한 건조 원칙을 고수하려고 노력했다. 컨트롤러가 진행되는 한 Resource_Controller가 실제로 작동하는 것을 발견했으며 해당 영역의 모든 컨트롤러를 제거하여 일반적인 컨트롤러로 교체 할 수 있습니다.

이제보기와 같은 방법을 알고 싶습니다. 이 응용 프로그램에는 전체적으로 Application.html.erb 레이아웃이 있으며 모든 CRUD 뷰에 공통적 인 다른 레이아웃 레이어가 있어야하며 마지막으로 "핵심"부분이 있어야합니다.

  • index.html.erb에서 내가 나타내는 필드와 레이블로 간단한 테이블을 생성해야합니다.

  • 신규 및 편집의 경우 일반적인 양식 에디션 (필요한 경우 사용자 정의 필드를 제공 할 가능성이 있음)을 나타냅니다.

  • 나는 쇼가 필요할지 확신하지 못하지만, 내가한다면 그것은 새롭고 편집하는 것과 동일 할 것입니다.

어떤 플러그인과 도구 (또는 기사 및 일반 포인터) 가이 작업을 수행하는 데 도움이됩니까?

감사합니다, 펠리페.

도움이 되었습니까?

해결책

컨트롤러를 건조하고 이제 뷰를 건조시키기를 원한다면 한 가지 방법은 다음과 같습니다. render :action => *actionname* 인스턴스 변수로 변경 될 수있는 UI 내용을 저장하여 (보기에서 사용할 수 있도록) 동일한보기를 재사용 할 수 있습니다. 편집하다, 새로운, 목록 또는 보여 주다. 예를 들어, 당신은 관련된 것을 편집하고 있습니다 foo 그런 다음 제목을 읽어야합니다 Editing <%= @type %>, 당신의 양식 도우자도 마찬가지입니다. foo 그런 다음 잘 바꿀 수 있습니다 술집. 따라서 다른 엔티티 (또는 내가 말해야 할 컨트롤러)에 대해 동일한 견해를 재사용하고 있습니다. 그것을 기억하십시오 redirect_to, render :action 뷰 만 렌더링하고 렌더링하려는 조치의 컨트롤러 동작을 호출하지 않습니다.

한 가지 확실한 점은 무엇이든 건조하려면 표준화 또는 컨벤션을 따라야합니다. 예를 들어,이 경우 견해의 구조.

다른 팁

당신은 달릴 수 있습니다 script/generate scaffold test name:string description:text valid:boolean 그리고 생성하는 견해를 보면 script/destroy scaffold test 파일을 제거하려면). 이는 4 개의 기본 레일 뷰를 작성하는 표준 방법을 잘 이해할 수 있습니다.

또한 "레일을 사용한 Agile Web Development"및 "The Rails Way"에서 관련 장을 읽는 것이 좋습니다.

정리 해야하는 기존의 견해가 있다면이 RailScasts 에피소드가 훌륭합니다. 보기 청소

Dary

요구 사항에 매우 가까운 새로운 보석이있는 것 같습니다.

http://github.com/codez/dry_crud

일반적인 슈퍼 클래스 (CrudController)를 기반으로 다양한 모델 컨트롤러에 대한 CRUD 기능을 상속하고 특별한 것을 조정할 수 있습니다. 이것은 아마도 당신이 이미 한 일입니다.

dry_crud의 새로운 것은보기와 부분도 상속 될 수 있다는 것입니다. 각 CRUD 동작에 대해 공통 기본 템플릿을 정의하고 몇 개의 부분으로 나뉘어 질 수 있습니다. 제공된 도우미 덕분에 현재 모델의 열 정의를 보면 양식 및 테이블이 일반적으로 정의 될 수 있습니다. 특정 모델의 뷰에서 사용자 정의가 필요한 부분 또는 뷰 만 조정할 수 있습니다.

위의 사이트에있는 문서를 살펴보고 건조하게 유지하십시오!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top