사용자가 제품 등급을 남겨 놓을 수있는 분량의 레일 애플리케이션이 있는데 평균 등급이 색인 페이지에 표시되도록하기 때문에 도서 동물 농장은 평가가 있다면 : 1, 3, 5 색인은 그 책 3 표시됩니다. 하지만 내가하고 싶은 일은 별표와 함께 표시된 숫자를 대체하는 것입니다. 따라서 "별표 평점 : 3"을 표시하는 대신 "별표 평점 : 3"별표 이미지가 표시됩니다. 이 작업을 수행하는 빠르고 간단한 방법이 있습니까?등급 시스템에 루비 레일에 별 이미지가 표시됩니다.
/views/products/index.html.erb :
<div id="star-rating">
<% if not product.no_of_stars.blank? %>
Star rating: <%= product.no_of_stars %>
<% else %>
<%= link_to 'Please add a Review',{ controller: 'reviews', action: 'new', id: product.id } %>
<% end %>
</div>
/models/product.rb : 나는 또한 스타의 이미지를 저장할 위치를 알 필요가
def no_of_stars
self.reviews.average('no_of_stars')
end
및 표시 할 별을 선택하는 방법, 지금까지는/app/assets/images 디렉토리에 있습니다. 나는 자바없이 루비에서 순전히 이것을 할 필요가있다.
누가 도와 주시겠습니까? 나는 루비에 대해 상당히 새로운 지식을 가지고 있습니다. 그렇기 때문에 할 일에 대한 완전한 분석이 가능합니까? 읽어 주셔서 감사합니다.
난 그냥 해봤이 당신의 코드의 적응 다음과 같은 오류 얻을없이 그대로 같이/week_15_test 공사중/1// my_bookshop_test2/응용 프로그램을/사이트 : 제품 번호 지수 에서 NoMethodError C보기를 /views/products/index.html.erb 어디에서 # 35 전화 :'번호 <인 BigDecimal : 6dbed90' 정의 방법 0.2E1 '배', 9 (45)> 추출 소스 (라인 # 35 정도) : \t <% product.no_of_stars.blank 경우? %> link_toars (product.no_of_stars) %> <% = link_to '리뷰를 추가하십시오', 컨트롤러 : '리뷰', 작업 : '신제품', id : product.id} %> <% else %>별 등급 : %> <% end %> –
@ benjs.1'BigDecimal'에서'times'를 호출 할 수 없다고 불평하고 있습니다. – jcm
.to_i 메서드를 추가했습니다. 이제는 BigDecimal에서도 작동합니다. – wintermeyer