2

これは Ruby on Rails 固有の質問なので、これがここに属していることを願っています。製品、クライアント、出荷、領収書などのいくつかのモデルを持つ倉庫会社の在庫システムを設計しています。

クライアントがこれらのモデルに基づいてレポートを生成し、多くの異なるモデルからいくつかのレポートを取得できるようにする別のレポート セクションが必要です。メニューは次のようになります。

Generate Reports ->
    Shipment Report
    Receipts Report
    Client Report
    Product Report
    Inventory Report
    Billing Report (generates report based off
                    calculations between incoming
                    receipts and outgoing shipments)

私の質問は、レポート システムを RESTful な方法で構築する方法です。これは、ビューを持つコントローラーメソッドに対応するレポートコントローラーを生成するだけで構成されますか? レポート モデルを生成しますか? この問題にどのように取り組みますか?

編集:レポートはカスタムの日付範囲などで動的に生成されることを追加する必要があります。各レポートにはフォームが必要です。私の考えでは、コントローラを 1 つ使用するとビュー フォルダが大きくなる可能性があります。

4

1 に答える 1

0

各レポートを独自のリソース (コントローラー) にします。これには、new および create アクションのみが必要です。

レポートごとに新しいモデル クラスを作成します。

レポートの生成に使用されるフォームごとにクラスを作成します。ここは、フォームに必要なデータをカプセル化するのに適した場所です。また、フォームの入力を保存するためにも使用されます。

例を次に示します。

Class ClientReportController < ..

  Def new
    @form = ClientReportForm.new 
  End

  Def create
   @form = ClientReportForm.new params[:form]
   @report = ClientReport.new @form
  End
End
于 2013-10-23T08:13:04.450 に答える