【Rails】Chartkickを用いて、保存した値をグラフ化させたい
解決したいこと
入力した値が正常に保存できるようにする(=Chartkickとしてグラフに反映されるようになる)
背景
Ruby on Railsでスマホアプリの利用時間をジャンルごと(例:Twitter,Instagram)にグラフ化させるアプリを開発しています。
現在は、入力した値(使用アプリ名や利用時間など)をChartkickという機能を用いてグラフ化させようとしている段階です。
グラフが表示されるページに戻るボタンを押した際に以下のエラー文が発生しました。(エラー発生時のRailsのバージョン:6.1.5)
これについての解決方法をご教授頂きたいです。
発生している問題・エラー
ActionController::ParameterMissing in PostsController#create
param is missing or the value is empty: post
該当するソースコード
private
def post_params
params.require(:post).permit(:time, :tag)
end
end
大元のソースコード
class PostsController < ApplicationController
before_action :authenticate_user!
def index
@posts = Post.all
if params[:tag]
Tag.create(name: params[:tag])
end
posts = Post.where(user_id: current_user.id)
@sum = posts.group(:tag).sum(:time)
end
def new
@post = Post.new
@tags = Tag.all
end
def create
post = Post.new(post_params)
if post.save
redirect_to :action => "index"
else
redirect_to :action => "new"
end
end
def show
@post = Post.find(params[:id])
end
def edit
@post = Post.find(params[:id])
end
def update
post = Post.find(params[:id])
if post.update(post_params)
redirect_to :action => "show", :id => post.id
else
redirect_to :action => "new"
end
end
def destroy
post = Post.find(params[:id])
post.destroy
redirect_to action: :index
end
private
def post_params
params.require(:post).permit(:time, :tag)
end
end
new.html.erb/postsのコード
<h3>新規投稿</h3>
<%= form_tag({controller:"posts",action:"index"}, method: :get) do %>
アプリ追加:<%= text_field_tag :tag %>
<%= submit_tag 'タグを追加' %>
<% end %>
<%= form_with(model: @post, url: {controller: 'posts', action: 'create'} ,local: true) do |form|%>
<div class="form">
<div class="form-body">
アプリを選択:<%= form.collection_select(:tag,@tags,:name,:name)%>
時間:<%= form.number_field :time %>h
<%= form.submit "保存"%>
</div>
</div>
<% end %>
<%= button_to "記録一覧に戻る", posts_path %>
自分で試したこと
・データを保存するためのDBが作られているか確認。
・タグ名やカラム名が定義したものと合っているか確認。
・chartkickに関する複数の資料を混合させて機能をつけようとしてしまったので、1つの資料(「【Ruby on Rails】railsでスタディープラスっぽいもの作ろうとしてみた(グラフ表示)」,参考資料に記載)のみに絞ってやろうとしたが、エラーは解決せず。
参考記事
「【Ruby on Rails】railsでスタディープラスっぽいもの作ろうとしてみた(グラフ表示) 」
https://qiita.com/Yu_unI1/items/c3c977288054560fe0e6
「Chartkickを使って、グラフを作成してみた」
https://qiita.com/pyon_kiti_jp/items/3fda2f9274cbbe6252da