2017-08-13 38 views
0

Chartkick新手,不確定我要出錯的地方。我有一張坦克桌,有一個等級屬性,我想在每個圖表中顯示坦克等級。從架構Chartkick列 - 數據不顯示爲條形圖

坦克表:

create_table "tanks", force: :cascade do |t| 
    t.decimal "level" 
    t.bigint "zipcode" 
    t.bigint "tank_company_id" 
    t.datetime "created_at", null: false 
    t.datetime "updated_at", null: false 
    t.index ["tank_company_id"], name: "index_tanks_on_tank_company_id" 
end 

坦克控制器:

def index 
    @tanks = Tank.all 
end 

查看:

<div class="container text-center tanks-list"> 
    <div class="row"> 
    <% @tanks.each do |tank| %> 
     <div class="col-md-4 tank"> 
     <p>Company: <%= tank.tank_company.name %></p> 
     <p>Tank ID: <%= tank.id %></p> 
     <p>Level: <%= tank.level.to_i %>%</p> 
     <%= column_chart tank.level.to_i, min: 0, max: 100 %> 
     </div> 
    <% end %> 
    </div> 
</div> 

如何它顯示了在表,但在圖中沒有酒吧:

Chart, but no bars in the graph

回答

0

您輸入column_chart必須具有鍵和值,例如tank_company.id密鑰和水平值

div class="container text-center tanks-list"> 
    <div class="row"> 
    <% @tanks.each do |tank| %> 
     <div class="col-md-4 tank"> 
     <p>Company: <%= tank.tank_company.name %></p> 
     <p>Tank ID: <%= tank.id %></p> 
     <p>Level: <%= tank.level.to_i %>%</p> 
     <%= column_chart @tanks.group(:id).sum(:level), min: 0, max: 100 %> 
     </div> 
    <% end %> 
    </div> 
</div> 
+0

謝謝。我想要做的是在單個圖表中將每個坦克的等級單獨顯示爲單個條形圖,而不是將所有坦克一起顯示在一個圖形中。 – katiekeel

+0

好吧,我剛剛編輯我的答案可能可以與你想要的 – widjajayd

+0

我想接受你的答案,並給你的觀點,但這會產生以下錯誤: 「PG :: SyntaxError:錯誤:語法錯誤在或「sum」level 1,「SUM」(1) :SELECT SUM(「tanks」。「level」)AS sum_level,1 AS 1 FROM「tanks ...」 AS 1 FROM「tanks」GROUP BY 1「 – katiekeel