2012-09-17 29 views
2

由于这是一个Ruby on Rails的具体问题,我希望它属于这里。我正在设计仓储公司的库存系统,该系统有几种型号,例如产品,客户端,货件,收据等。Rails 3.2基于几种模型的报告

我想要一个单独的报告部分,允许客户端生成基于关闭的报告这些模型,几个报告从许多不同的模型拉。以下是菜单的样子:

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方式构建报表系统。这是否包括简单地生成报告控制器相应的控制器方法与视图?你会生成一个报告模型吗?你将如何解决这个问题?

编辑: 我必须补充说,报表将会自动生成自定义日期范围等。每个报表都需要表单。我的想法是,如果我使用一个控制器,视图文件夹可能会变大。

+0

什么是你想要这报告是基于REST的驱动程序?答案可能有助于决定你的结构/接口的一些事情。 –

回答

0

使每个报告自己的资源(控制器),这将只需要新的和创建操作。

为每个报告创建一个新的模型类。

为每个用于生成报告的表单创建一个类。这里是封装表单所需的任何数据的好地方。它也将被用来存储表单的输入。

下面是一个例子:

Class ClientReportController < .. 

    Def new 
    @form = ClientReportForm.new 
    End 

    Def create 
    @form = ClientReportForm.new params[:form] 
    @report = ClientReport.new @form 
    End 
End