2012-07-01 3 views
0

현재 많은 수의 다른 객체를 가진 루비 애플리케이션을 개발 중입니다. 이 응용 프로그램의 일환으로 사용자가 응용 프로그램의 거의 모든 변수에 대한 사용자 지정 보고서를 만들 수있는보고 엔진을 추가하고자합니다. 예를 들어 전화 번호가있는 고객의 비율을 보여주는 보고서를 만들 수 있습니다. 즉, 거리 이름이 E로 시작하는 공급 업체의 절대 수입니다. 요점은, 애플리케이션에서 이미 생성 된 데이터에 의존하지 않고 애매한 방법과 상관없이 앱의 데이터에 대한 보고서를 만들 수 있어야한다는 것입니다 .Ruby on Rails 객체보고

내 질문은 : 어떻게 이런 일이 일어나는 구조를 만들기 시작합니까? 보고서의 일부로 사용할 수있는 모든 변수를 지정해야합니까 (예 : customers.count, customers.email_addresssuppliers.addresses.street_name은 위의 예에서보고 엔진에서 사용할 수있는 모든 변수 임). 자동으로 사용할 수있게 만들었습니까?

변수를 지정해야하는 경우이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

나는 이것에 대한 약간의 자료를 찾았으나 아직 어떤 것도 발견하지 못했다. - 누군가가 자료를 추천 할 수 있다면, 또한 감사 할 것이다.

감사합니다.

답변

2

이것은 사용자가 YAGNI를 위반할 가능성이 있습니다. 사용자가 가장 자주 사용하는 보고서 유형을 먼저 작성하여 사용 가능하고 예쁘게 만들 수 있도록하는 것이 좋습니다. 추상적 수준에서이를 수행하는 것은 더 복잡하며 오류가 발생하기 쉽고 조심하지 않으면 보안 문제가 발생할 수 있으며 일반적으로 보이는 것보다 예쁜 보고서를 작성하기가 어렵습니다.

그런데 사용자 정의 필터 및 데이터 내보내기를 제공하는 Active Admin과 같은 것을 살펴보십시오. 원하는 범위 내에서 사용자 지정 범위를 추가 할 수 있어야하지만 그래도 여전히 구현되지 않으면 구현 내용을 살펴보면 무엇이 관련되어 있는지 알 수 있습니다.

+0

조언 해 주셔서 감사합니다. 매우 감사드립니다. 이 기능을 추가하려는 이유는 반드시 실제 보고서를 만들 필요는 없지만 타겟팅 엔진과 인터페이스하기 위해서입니다. 관리자는 고객의 90 % 이상에게 전자 메일 주소를 부여하는 사용자를 대상으로 설정하고 하루에 전화로 5 명 이상의 고객 연락처를 설정할 수 있습니다. 따라서 유연성에 대한 필요성 (관리자는 그와 관련된 이상하고 멋진 것을 목표로 삼을 수 있습니다). –

+0

그들은 미래에 그것을 원할지도 모르지만, 현재 관리자는 그것을 원할 것입니다 * * *? 자신 만의 쿼리 언어를 구현하거나 (관리 사용자가 SQL 또는 루비를 입력하는 것을 허용하는) 길을 걷기 시작했습니다. 유지 관리가 쉽지 않습니다. 독단적 인 태도를 취하고 처음에는 몇 가지 유형의 타겟 만 허용 한 다음 추가 할 유형을 고객에게 알려주고 결국 고객에게 (지불하는) 고객이 많으면 견고한 타겟 시스템으로 개방하는 데 아무런 문제가 없습니다. –

+0

공정한 의견 - 나는 확실히 여기 바퀴를 재발 명하고 싶지 않고, 대부분의 고객이 비교적 제한된 수의 변수를 원할 가능성이 높습니다. 나는 항상 더 이상 매력적일지도 모르는 유료 사용자 정의 변수를 추가 할 수 있습니다. 감사! –