我遇到了一个关于图表踢的小问题。我有一个铁路应用程序,您可以在其中创建不同的货币。然后,您可以创建包含标题、金额的费用,并从列表和 user_id 中选择货币。这种关系已经建立并且正在发挥作用。我的用户控制器中有这样的东西:
@user_spendings = @current_user.spendings.all.order('date DESC').paginate(:page => params[:page], :per_page => 15)
@sums_by_currency = Currency.joins(:spendings).
select(:symb, 'SUM(spendings.amount) AS amount').
where(spendings: { id: @user_spendings.map(&:id) }).
group(:symb)
在我的显示视图中(因为我希望每个用户的费用都显示在那里),如下所示:
<% @sums_by_currency.each do |currency| %>
<%= '%.02f' % "#{currency.amount}" %> <%= "#{currency.symb}" %>
<% end %>
这显示了根据货币而定的每笔支出的总和。
我想使用此总计并使用 Chartkick 来显示支出以及创建此支出的日期。
我已经尝试过几件事了
首先我只是想看看:
<% @sums_by_currency.each do |currency| %>
<%= bar_chart currency.amount %>
<% end %>
好吧,我必须出现图表,但什么也没有显示。也许循环不是解决方案。然后我想到了 .map,但说实话,我真的不知道如何将其放在适当的位置。
我也尝试过这个:
<%= line_chart @current_user.spendings.group(:date).sum(:amount) %>
这显示了所有货币的总支出。我必须找出如何在不同的图表中拆分所有货币并仅显示每种货币的总金额。
如果有人能给我一个线索,我将不胜感激。
多谢。