我幾乎不懂軌道,更不用說紅寶石,所以這可能是一個簡單的。在我的控制器的show動作之一,我有我已經定義來計算總的一些項目的變量,看起來是這樣的:從(很快瘦)的控制器移動到(不太胖)模型
@total_of_items = SomeModel.where(:user_id => @user).sum(:amount)
這顯然收集所有量的屬性,這個特殊的用戶,並增加了他們向上。所以在我看來我只是打電話:
<%= @total_of_items %>
它顯示出來。所以有兩個問題。首先,這真的是做這種事情的最佳方式嗎?因爲我可能想要取這個值並在另一個用戶的視圖中顯示它來比較兩者,或者類似的東西。這似乎是爲了做到這一點,這必須是模型中的一種方法?我只是不確定。
我的第二個問題是如何獲取控制器中定義的變量並將其放入模型中。看起來這是更「瘦瘦的控制器胖模式」的做事方式。幫助不大?
我更喜歡使用範圍,因爲它們更清楚地表達意圖。所以我會建議使用@ apneadiving的答案;) – nathanvda 2011-04-29 00:09:36