레일 3.1레일 : 생성 후 여러 데이터베이스 항목의 평균을 계산하는 방법
나는 내 질문에 응용할 수 있도록 간단하게 만들 것이다. 나는이를 저장하는 열 "ITEM_ID"각 항목에 대해 "평가"
싶습니다있다 항목 및 리뷰
항목 열 "AVERAGE_RATING"을 가지고 있으며, 리뷰 :
나는 두 개의 테이블이 해당 리뷰의 평균 평점. 나는 그것을 알아낼 수는 없지만 제가하고 싶은 것은 뭔가를 추가처럼, 내가 느끼는 만들고 업데이트의 라인을 따라 리뷰 컨트롤러에서 방법 :
@review = Review.find(params[:id])
@item = Item.find(@review.Item_ID)
reviews_to_sum = Reviews.find_by_item_id(@item.id)
@item.Average_Rating = reviews_to_sum.Rating.sum/reviews_to_sum.count
나는 그러나, 인식, 위의 그 아마 정확하지 않다 ... 나는 초보자이고 나는 붙어있다.
그리고 나는 여러 가지 이유로 그것을 필요할 때 계산하는 것과는 반대로 Average_Rating을 데이터베이스에 저장하려고합니다.
여기서 'Item_ID'와 같은 열 이름을 얻습니까? ActiveRecord는 기본적으로'item_id'를 선호하며 메서드는 동일합니다. 루비의 대문자 사용은 일반적으로 상수를 나타냅니다. – tadman
그래, 나는 원래 데이터베이스 구조를 만들 때 생각하지 않았기 때문에 그들을 대문자로 만들었습니다. 나는 그것들 모두를 소문자로 옮길 수 있지만 대문자 표기법은 정말로 문제인가 아니면 단지 비표준인가? –
이제는 현재와 미래에 대해 불규칙적 인 것으로 눈에 띄게 될 것입니다. 표준화를 빨리 마칠수록 더 좋습니다. 곡식에 맞서 싸울 좋은 이유가 항상 있어야합니다. 또한 모든 관계에서 외래 키 매개 변수를 재정의 할 필요가 없음을 의미합니다. – tadman