我有一個嵌套的形式。該表單是一個名爲list的模型,它具有:name和a:month屬性。這個列表模型在被調用的項目中嵌入了另一個模型,它具有:name和:amount屬性。一個列表有很多項目,一個項目屬於一個列表。我創建了我的控制器,總計所有的項目數量這樣的變量(不知道這是最好的方式):顯示來自Rails 3中不同條目的變量值?
@amount_total = Item.where(:list_id => @list).sum("amount")
我把這個變量在我的列表顯示頁面,它顯示了總所有項目金額爲當前列表ID。我想要做的是能夠將當前列表總數與之前輸入的列表進行比較。是否有可能使用這樣的變量?如果是這樣,怎麼樣?如果不是,我該怎麼辦?
編輯
在我的節目在控制器我有采取行動的以下(基於下面的答案):
@list = List.find(params[:id])
但我需要創建變量@previous_list,這樣的事情:
@previous_list = List.order("id").where("id<? AND user_id=?", self.id, self.user_id).last
我需要找到以前輸入的列表,但爲同一個用戶。但是,當我用這種方式把它變成變量時,它說有一個未定義的方法「user_id」。思考?
您的用戶模型與List具有belongs_to關係嗎?列表是否與用戶有has_many關係?另外,您可能想使用created_at來排序查詢,而不是id。 Id不一定是按時間順序排列的,而created_at總會是。 – ipd 2011-04-30 15:39:02