중첩 된 양식이 있습니다. 양식은 list : name 및 a : month 속성이있는 모델입니다. 이 목록 모델에는 : name 및 : amount 속성을 가진 호출 된 item 내부에 중첩 된 다른 모델이 있습니다. 목록에는 많은 항목이 있고 항목은 목록에 속합니다.Rails 3에서 다른 항목의 변수 값을 표시 하시겠습니까?
@amount_total = Item.where(:list_id => @list).sum("amount")
내 목록 쇼 페이지에서이 변수를 호출
하고 모든 항목의 합계를 보여줍니다 :이 같은 항목 금액의 모든 합계 내 컨트롤러의 변수 (즉, 가장 좋은 방법은 있는지 확실하지)를 생성 현재 목록 ID의 금액입니다. 내가하고 싶은 일은 현재 목록 합계를 이전에 입력 한 목록과 비교할 수 있습니다. 이런 변수를 사용할 수 있습니까? 그렇다면 어떻게? 그렇지 않다면 어떻게해야합니까?
편집 내가 가지고있는 컨트롤러 내 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"가 있다고합니다. 생각?
사용자 모델에 List와 belongs_to 관계가 있습니까? List는 User와 has_many 관계가 있습니까? 또한 id를 사용하지 않고 create_at를 사용하여 쿼리를 정렬하려고합니다. Id는 항상 연대 기적 인 것은 아니지만, created_at은 항상있을 것입니다. – ipd