2015-06-04 42 views
0

我使用的是導軌4,我想顯示通過餅圖生成的月票。任何人都可以幫忙嗎?我應該如何通過圖表顯示每月生成的門票

模式:

create_table "tickets", force: :cascade do |t| 
t.integer "store_id" 
t.integer "vendor_id" 
t.datetime "ticket_date" 
t.datetime "deadline" 
t.text  "description" 
t.datetime "created_at",     null: false 
t.datetime "updated_at",     null: false 
t.string "ticket_no" 
t.string "vendor_name" 
t.string "user_id" 
t.integer "issue_id" 
t.integer "category_id" 
t.boolean "completed", default: false 

ticket.rb包含:

def self.category_count(user,category) 
if user.vendor.nil? 
category.tickets.where('store_id = ?', user.store.id) 
else 
category.tickets.where('vendor_id = ?', user.vendor.id) 
end 
end 

def self.ticket_count(user,ticket) 
if user.vendor.nil? 
    ticket.tickets.where('store_id = ?', user.store.id) 
else 
ticket.tickets.where('vendor_id = ?', user.vendor.id) 
end 
end 

觀點: 門票:

index.html.erb文件是:

<% data = {} %> 
<% for category in Category.all %> 
<% data[:"#{category.name}"] = Ticket.category_count(current_user,category).count %> 
<% end %> 
<%= pie_chart(data) %> 

回答

1

我可能會被移動到一個視圖助手方法此如啓動:

def pie_chart_data(user) 
    Hash[*Category.all.map { |c| [c.name, Ticket.category_count(user, c).count] }] 
end 

然後,您可以在您的視圖

<%= pie_chart(pie_chart_data(current_user)) %> 
+0

稱這個圖表仍然不上來。 – webber

+0

那麼,有沒有錯誤? 'pie_chart'的實現是什麼?你真的沒有給我們足夠的信息來幫助你嗎? –

+0

我上傳了代碼的其餘部分,我想在tickets.index.erb頁面上顯示每月生成的門票。 – webber

相關問題