0

私は現在、多数の異なるオブジェクトを持つrubyアプリケーションを開発しています。このアプリケーションの一部として、ユーザーがアプリケーション内のほぼすべての変数についてカスタムレポートを作成できるようにするレポートエンジンを追加したいと思います。たとえば、顧客の何パーセントが電話番号を持っているかを示すレポートを作成できます。ストリート名がEで始まるサプライヤーの絶対数。要点は、アプリケーションで作成されていることに依存することなく、どれほど曖昧であっても、アプリ内のデータに関するレポートを作成できる必要があるということです。 。

私の質問は、これを可能にする構造を作成するにはどうすればよいですか?レポートの一部として使用できる可能性のあるすべての変数を指定する必要がありますか(たとえば、を指定する必要がありcustomers.count、上記の例customers.email_addresssuppliers.addresses.street_nameはすべての変数がレポートエンジンで使用可能です)、またはこれらを何らかの方法で自動的に使用可能にすることができますか? ?

変数を指定する必要がある場合、これを行うための最良の方法は何でしょうか?

私はこれに関するいくつかのリソースを検索しましたが、まだ何も見つかりませんでした-誰かがソースを推薦できるなら、それもありがたいです。

ありがとう!

4

1 に答える 1

2

これはYAGNIに違反している可能性があることを警告したと考えてください。ユーザーが必要とする最も一般的なタイプのレポートについて、最初にレポートを作成することを強くお勧めします。そうすることで、レポートを使いやすくきれいにすることができます。これを抽象レベルで行うと、桁違いに複雑になり、エラーが発生しやすくなります。注意しないと、セキュリティ上の問題が発生する可能性があり、一般的なレポートではなく、きれいなレポートを作成するのが困難になります。

そうは言っても、カスタムフィルターとデータエクスポートを提供するActiveAdminのようなものを見てください。カスタムスコープを追加して、必要な処理を実行できるようにする必要がありますが、それでも実行できない場合は、実装を確認することで、何が関係しているかを把握できます。

于 2012-07-01T10:04:42.937 に答える