複数のパラメーターのグローバル平均

ニコラスウェカンドイト

私は複数のパラメータの平均を実行しようとしています。1つの一意のパラメータの場合、すべてが完全に機能しますが、複数のパラメータを平均化することはできません。手伝って頂けますか ?

@ratingservice = Comment.where(:camping_id => params[:id]).average(:service).to_i
       @ratingcommunication = Comment.where(:camping_id => params[:id]).average(:communication).to_i
       @ratingqualiteprix = Comment.where(:camping_id => params[:id]).average(:qualiteprix).to_i
       @ratinganimation = Comment.where(:camping_id => params[:id]).average(:animation).to_i
       @ratingproprete = Comment.where(:camping_id => params[:id]).average(:proprete).to_i
       @ratingsituation = Comment.where(:camping_id => params[:id]).average(:situation).to_i

複数のパラメータの場合、このコマンドは機能しません:初期化されていない定数

@ratingall = Commment.where(:camping_id => params[:id]).average(:service, :communication, :qualiteprix, :animation, :proprete, :situation).to_i

ちなみに、この方法は確かにドライではありません。

エリック・デュミニル

平均は1つの列名のみを受け入れます。

平均の平均を直接計算する場合は、SQLクエリを作成する必要があります。

コードのDRYerバージョンの場合:

where_camping = Comment.where(:camping_id => params[:id])
@ratings = [:service, :communication, :qualiteprix, :animation, :proprete, :situation].map{|key|
  [key, where_camping.average(key).to_i]
}.to_h

@ratingsは、たとえば{:service => 3、:communication => 2、...}のハッシュになりました。

平均の平均を取得するには:

@ratingall = @ratings.values.sum.to_f/ratings.size

ビューで特定の評価を取得するには:

@ratings[:service]

評価を繰り返すには:

@ratings.each do |category,rating|
  # Use category and rating variables.
end

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

関数へのグローバル変数とパラメーターの使用

分類Dev

複数のパラメーターMVCルーティング

分類Dev

プログラム的に複数値のパラメータ

分類Dev

MongoDBプロバイダーで複数のパラメーターをフィルター処理する

分類Dev

Reactルーターの複数のパラメーター

分類Dev

MyBatis-グローバルパラメータの定義

分類Dev

ui-routerのグローバルパラメータ

分類Dev

複数のコールバックのパラメーターを比較する

分類Dev

Pythonモジュールのグローバルパラメータの規則

分類Dev

Pythonでの複数のパラメーターによるロギング

分類Dev

関数のパラメーターとしてグローバル変数を操作する

分類Dev

グローバル変数としての角度とパラメーターの違いは?

分類Dev

Python xarray:複数のパラメーターによるグループ化

分類Dev

SCIPのグローバルランダムシードパラメータ?

分類Dev

symfony 4ルーティング:複数のスラッシュを持つ複数のパラメーター?

分類Dev

ログバック変換ルールのパラメーター化

分類Dev

ShinyApplicationのonStartパラメーターでグローバル変数値を設定する方法

分類Dev

パラメータなしの再帰、静的変数またはグローバル変数

分類Dev

パラメータJavascriptを使用した関数を使用したグローバル変数の変更

分類Dev

パラメータを使用して関数内のグローバル変数を変更する方法

分類Dev

複数の関数パラメータ?

分類Dev

複数のオプションパラメータルーティング

分類Dev

複数のパラメータで配列をグループ化する方法

分類Dev

バックボーンルーターの複数のパラメーター。2番目のパラメーターが定義されていません

分類Dev

laravel 5 のルートからコントローラーに複数のパラメーターを渡す

分類Dev

.htaccessURLの複数のパラメータ

分類Dev

複数のパラメータの使用

分類Dev

複数のパラメータのGCD

分類Dev

Laravelの複数のルートパラメータ

Related 関連記事

  1. 1

    関数へのグローバル変数とパラメーターの使用

  2. 2

    複数のパラメーターMVCルーティング

  3. 3

    プログラム的に複数値のパラメータ

  4. 4

    MongoDBプロバイダーで複数のパラメーターをフィルター処理する

  5. 5

    Reactルーターの複数のパラメーター

  6. 6

    MyBatis-グローバルパラメータの定義

  7. 7

    ui-routerのグローバルパラメータ

  8. 8

    複数のコールバックのパラメーターを比較する

  9. 9

    Pythonモジュールのグローバルパラメータの規則

  10. 10

    Pythonでの複数のパラメーターによるロギング

  11. 11

    関数のパラメーターとしてグローバル変数を操作する

  12. 12

    グローバル変数としての角度とパラメーターの違いは?

  13. 13

    Python xarray:複数のパラメーターによるグループ化

  14. 14

    SCIPのグローバルランダムシードパラメータ?

  15. 15

    symfony 4ルーティング:複数のスラッシュを持つ複数のパラメーター?

  16. 16

    ログバック変換ルールのパラメーター化

  17. 17

    ShinyApplicationのonStartパラメーターでグローバル変数値を設定する方法

  18. 18

    パラメータなしの再帰、静的変数またはグローバル変数

  19. 19

    パラメータJavascriptを使用した関数を使用したグローバル変数の変更

  20. 20

    パラメータを使用して関数内のグローバル変数を変更する方法

  21. 21

    複数の関数パラメータ?

  22. 22

    複数のオプションパラメータルーティング

  23. 23

    複数のパラメータで配列をグループ化する方法

  24. 24

    バックボーンルーターの複数のパラメーター。2番目のパラメーターが定義されていません

  25. 25

    laravel 5 のルートからコントローラーに複数のパラメーターを渡す

  26. 26

    .htaccessURLの複数のパラメータ

  27. 27

    複数のパラメータの使用

  28. 28

    複数のパラメータのGCD

  29. 29

    Laravelの複数のルートパラメータ

ホットタグ

アーカイブ