0

Impressionist gem を使用して、記事のビューをキャプチャしています。ユーザーは記事を作成し、ダッシュボードでこれらを表示できます。私が探しているのは、Chartkick を使用して、日ごとに作成された記事の量、日ごとのコメント、そしてこの質問で最も重要なこととして、ユーザーの記事 (および彼のみ) の 1 日あたりのインプレッションを示すグラフを表示することです。ユーザーが記事ごとに 2 つのインプレッションを持ち、2 つの記事を持っている場合、その日のチャートでは 4 と表示されます。

私のショーアクションには次のものがあります:

@articles = current_user.articles
@comments = @articles.comments

そして私の見解では:

<%= area_chart [
   {name: "Articles", data: @articles.group_by_week(:created_at, format: "%B %d, %Y").count },
   {name: "Comments", data: @comments.group_by_week(:created_at, format: "%B %d, %Y").count },
   {name: "Impressions", data: @impressions.group_by_week(:created_at, format: "%B %d, %Y").count }
]%>

インプレッションの ID を収集して、これを行う方法をたくさん試しましたが、毎回「ブロックがありません」というメッセージが表示されます (笑わないようにしてください)。

@article_impressions = []

@articles.each do |article|
  @impression = Impression.where(impressionable_id: article.id)
  if @impression.present?
    @article_impressions << [@impression.ids]
  end
end

また、@impression をハッシュに取り込もうとしましたが、同じように「ブロックが指定されていません」。私はこれを間違った方法で行っているとほぼ 100% 確信しています。誰かが助けることができれば、それは大歓迎です!

ありがとう。

4

0 に答える 0