2016-03-29 14 views
0

current_userに関連するデータをキャプチャしてグラフ化するのに問題がありました。私が書いたコードと、私が経験したエラーを以下に掲載します。Chartkick Rails 4でcurrent_userデータをグラフ化する

私はビュー自体が

Error Loading Chart: Internal Server Error 

Index.html.erb

<div class="row"> 
    <div class="col-md-4"> 
     <%= line_chart analytic_posts_created_path(current_user) %> 
    </div> 
    </div> 

Analytics_Controller.rb

class AnalyticsController < ApplicationController 
    before_filter :authenticate_user! 

    def index 
    posts_created 
    end 

    def posts_created 
    render json: current_user.posts.group_by_month(:created_at).count 
    end 

    private 
    def set_user 
    @user = User.friendly.find(params[:id]) 
    end 
end 

routes.rbををロードしていても、以下のエラーを受信して​​います

resources :analytics, only: [:index] do 
    get '/posts_created' => 'analytics#posts_created' 
    end 

Application.html.erb

<%= javascript_include_tag 'https://www.google.com/jsapi', 'chartkick' %> 

サーバーログ

Started GET "/analytics.john190" for 127.0.0.1 at 2016-03-29 17:46:50 -0400 
Processing by AnalyticsController#index as 
    User Load (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? ORDER BY "users"."id" ASC LIMIT 1 [["id", 5]] 
    Post Load (0.0ms) SELECT count(*) as count, strftime("%Y-%m-01 00:00:00 UTC", created_at) as date_slice FROM "Posts" WHERE "Posts"."user_id" = ? AND ("Posts"."created_at" IS NOT NULL) GROUP BY date_slice ORDER BY "Posts"."created_at" DESC, date_slice [["user_id", 5]] 
Completed 200 OK in 10ms (Views: 6.0ms | ActiveRecord: 0.0ms) 
+0

index.html.erb

analytics_controller.rb

def index @user_monthly_articles = current_user @user_monthly_articles.articles.group_by_year(:created_at).count end 

あなたは、JSONをレンダリングしようとしていますか?もしそうなら、 'json'ではなく' json'を使うべきです。 – archana

+0

私は誤植があることを認識していませんでした。気づいてくれてありがとう。今私の問題は、折れ線グラフ自体ではなく、ビューに表示されている番号1(アイテム数created_by_month)です。 – RailzWithLove2035

+0

折れ線グラフを印刷するコードはどこですか? – archana

答えて

0

私の代わりにJSONのインスタンス変数を使用しての伝統的なアプローチを取りました。 JSONのアプローチはhtmlビューをオーバーライドします。

<div class="row"> 
    <div class="col-md-4"> 
     <%= line_chart @user_monthly_articles %> 
    </div> 
    </div> 
関連する問題