私は入れ子になったフォームを持っています。このフォームはlistと呼ばれるモデルで、nameとa:month属性を持っています。このリストモデルには、呼び出されたitem内にネストされた別のモデルがあります。このモデルには:nameと:amount属性があります。リストには多くのアイテムがあり、アイテムはリストに属しています。私は私のリストを表示するページでは、この変数を呼び出すと、それはすべての項目の合計を示しRails 3の別のエントリの変数の値を表示しますか?
@amount_total = Item.where(:list_id => @list).sum("amount")
:私はこのような項目の金額のすべてを合計し、私のコントローラ内の変数を(それが最善の方法かどうかわからない)が作成しました現在のリストidの金額。私がやりたいことは、現在のリストの合計を以前に入力したリストと比較できることです。このような変数を使用することは可能ですか?もしそうなら、どうですか?そうでない場合、私は何をすべきですか?
EDIT私が持っているコントローラの私のshowアクションで
(下記の回答に基づいて)次:
@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"があると言います。思考?
あなたのUserモデルはListとbelongs_to関係にありますか? ListはUserとhas_many関係にありますか?また、おそらく、idではなく、あなたのクエリを順序付けるためにcreated_atを使いたいと思うでしょう。 Idは必ずしも時系列であるとは限りませんが、created_atは常にそうです。 – ipd