2012-09-17 28 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