2

インスタンスメソッドpoint_differential(基本的にはポイント-ポイント)を持つモデル、チームがあります。チャートキックグラフで使用しようとしていますが、うまくいきません。

これは機能します

= bar_chart Team.group(:group).sum(points_for)

points_for は Team モデルの単なる属性であるためです。

これは、point_differential が属性ではなくインスタンス メソッドであるためではありません。

= bar_chart Team.group(:name).sum(point_differential)

どちらでもない

= bar_chart Team.group(:name).sum(&:point_differential)

どちらでもない

bar_chart = Team.all.map {|チーム| {name:team.name, point_differial: team.point_differential}}

何か案は?

4

2 に答える 2

1

injectを使用してハッシュを構築するクラスメソッドを作成することでこれを解決しました

def self.hashify_points_differential
   Player.all.inject({}) do |result, player|
     result[player.name] = player.point_differential
     result
    end   
end

それから私はそれを次のように使うことができます

= bar_chart Player.hashify_points_differential
于 2014-06-27T18:47:56.363 に答える