解決したいこと
家計簿アプリ作成にあたり、gem"chartkick"を活用し、カテゴリーごとの支出のグラフ化を試みております。
グラフは問題なく表示されたのですが、カテゴリー名がカテゴリーIDの表示となってしまいました。(外部キーとしてカテゴリーIDを紐づけているためと考えられる。)
カテゴリー名を表示させるためのchartkickの編集方法をご教示いただけますと幸いです。
問題箇所
homes/profile.html.erb
1・・・ 2<div> 3 <h2>支出内訳円グラフ</h2> 4 <%= pie_chart @pays_month_ratio, donut: true, suffix: "円",title:"支出" %> 5</div> 6・・・
homes_controller.rb
1・・・ 2 def profile 3 # 今月の支出 4 @today = Date.today 5 @pays_month = current_user.pays.where(date: @today.all_month) 6 # category_id を category_id.nameとするとエラーになる 7 @pays_month_ratio = @pays_month.group(:category_id).sum(:price).sort_by {|_,v|v}.reverse.to_h 8 @pays_month_total = @pays_month.inject(0) {|sum,pay| sum + pay.price} 9end 10・・・
schema.rb
1・・・ 2ActiveRecord::Schema.define(version: 2022_01_12_123540) do 3 4 create_table "budgets", force: :cascade do |t| 5 t.integer "user_id" 6 t.integer "category_id" 7 t.integer "price" 8 t.datetime "created_at", null: false 9 t.datetime "updated_at", null: false 10 end 11 12 create_table "categories", force: :cascade do |t| 13 t.string "name" 14 t.datetime "created_at", null: false 15 t.datetime "updated_at", null: false 16 t.string "ancestry" 17 end 18・・・
試したこと
controllerの下記コードのgroup(:category_id)をgroup(:category_id.name)とするとエラーが発生する。
@pays_month_ratio = @pays_month.group(:category_id).sum(:price).sort_by {|_,v|v}.reverse.to_h
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。