jquery - 访问我的排名以计算我的用户的平均值

标签 jquery mysql ruby-on-rails ruby

我想按用户计算排名的平均值。 我实际上有一个属于帖子/推送/用户模型的模型审查。 其操作是使用排名表中的两个变量:user_id: & : rating。 目前,我的页面没有错误,但平均值仍然为零,而通常他有相关的评级。

我的代码

Profiles_controller/ Action 展示:

def show
    if @user.cooker?
     @pushs = Push.where(taked_by: @user.id).reverse
     @reviews = Review.where(user_id: @user.id)
       if @user.reviews.blank?
        @average_review = 0
      else 
        @average_review = @user.reviews.average(:rating).round(2)
      end 
    else 
      @pushs = @user.pushs.reverse
    end
  end

个人资料显示 View :

    <h2> Avis moyen :</h2>
 <div class="average-review-rating" data-score= "<%= @average_review %>">

      <script>
    $('.average-review-rating').raty({
      readOnly: true,
      path: '/assets/',
      score: function() {
        return $(this).attr('data-score')
      }
      });
    </script>

路线:

resources :posts do 
    resources :pushs do 
      resources :reviews
    end 
  end 

如果您对为什么我的个人资料 View 中没有平均值有任何想法,您将成为我的男人!

最佳答案

尝试跳过第二个条件,如果没有它,此代码应该可以正常工作:

if @user.cooker?
  @pushs = Push.where(taked_by: @user.id).reverse
  @reviews = Review.where(user_id: @user.id)
  @average_review = @user.reviews.average(:rating).try(:round, 2)
else 
  @pushs = @user.pushs.reverse
end

关于jquery - 访问我的排名以计算我的用户的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37812455/

相关文章:

javascript - 带有标签选择器的 Twitter Bootstrap 下拉菜单

javascript - 更改 window.location.href 时不会将页面滚动到底部

mysql - 跟踪关系数据库表中的随机列数据更改

mysql - 使用具有不同特征的 GroupBy 的 Laravel 查询

ruby-on-rails - rails sunspot 没有返回正确的结果

javascript - 我的 AJAX 只触发一次,

javascript - 查找单元格内容是否出现多次

mysql - 在 MySQL 中生成一个随机字符串

ruby-on-rails - Rails 3.2.13/Devise 2.2.3 : Method "authenticate_scope!" throws error: wrong number of arguments (1 for 0)

ruby-on-rails - 从数据库中获取每 n 条记录 - Ruby on Rails