2017-01-02 9 views
-1

Я использую jquery raty gem, и я хочу добавить рейтинг для каждого пользователя под своим именем пользователя. Это то, что я имею в products.show html.erb:Rails jquery raty показать имя пользователя над его звездами

<div class="row"> 
 
\t \t <div class="col-md-12"> 
 
\t \t \t <div class="ratings"> 
 
\t \t \t \t <h1> Ratings </h1> 
 
\t \t \t \t <% @product.ratings.each do |rating| %> 
 
\t \t \t \t <em> User: </em><%= User.find(rating.user_id.to_i).username.capitalize %> 
 
\t \t \t \t <% end %> 
 
\t \t \t \t <%= render @product.ratings %> 
 
\t \t \t \t \t 
 
\t \t \t \t 
 
\t \t \t \t 
 
\t \t \t \t <div>

<!-- What I see is the following: --> 
 

 
Username1: Username2: 
 
(stars rating1) 
 
(stars rating2) 
 

 
<!-- And I want this: --> 
 

 
Username1: 
 
(stars rating1) 
 
Username2: 
 
(stars rating2)

Я попытался закрыть петлю, помещая конец ниже render @ product.ratings, но, делая это, я получаю все рейтинги, показанные дважды.

ответ

0

Я сделал это, используя каждый с индексом. Таким образом, код:

<div class="row"> 
 
\t \t <div class="col-md-12"> 
 
\t \t \t <div class="ratings"> 
 
\t \t \t \t <h1> Ratings </h1> 
 
\t \t \t \t <% @product.ratings.each.with_index do |rating, index| %> 
 
\t \t \t \t <em> User: </em><%= User.find(rating.user_id.to_i).username.capitalize %> 
 
\t \t \t \t <%= render @product.ratings[index] %> 
 
\t \t \t \t <% end %> 
 
\t \t \t \t \t 
 
\t \t \t \t <div>