前提・実現したいこと
現在、railsにてカレンダーのアプリを作成しているのですが、
each文で取り出した値をまとめてchartkickのtimelineのグラフにしたいのですが、どうすればいいかわかりません。
何卒、よろしくお願いいたします
該当のソースコード
index.html.erb
html
1<div class="text text03"> 2<%= calendar number_of_days: 1, events: @attendances do |date, attendances| %> 3<%= link_to daytimes_url, class: "navbar-item" do %> 4 <div class="title is-5"> <%= date.day %></div> 5 <% end %> 6 7 <% attendances.each do |attendance| %> 8 <div> 9 <%= link_to attendance.user.username, attendance %> 10 <%= link_to attendance.start_time.strftime("%Y-%m-%d %H:%M"), attendance %> 11 <%= link_to attendance.last_time.strftime("%Y-%m-%d %H:%M"), attendance %> 12 <%= timeline [ 13 [attendance.user.username, attendance.start_time, attendance.last_time] 14] %> 15 </div> 16 <% end %>
routes.rb
ruby
1Rails.application.routes.draw do 2 get 'searches',to: "searches#index" 3 mount RailsAdmin::Engine => '/admin', as: 'rails_admin' 4 devise_for :users, controllers: { 5 omniauth_callbacks: 'users/omniauth_callbacks', 6 registrations: 'users/registrations' 7 } 8 post '/callback' => 'linebot#callback' 9 get 'homes/index' 10 resources :homes, only: [:index] 11 root to: 'home#index' 12 resources :users 13 resources :attendances 14 resources :daytimes 15 resources :restaurants, only: [:index, :show] 16 resources :searches do 17 collection do 18 get 'search' 19 end 20 end 21 namespace :admin do 22 resources :restaurants, only: [:index, :new, :create, :show, :edit, :destroy] 23 end 24end 25 26
attendances_controller.rb
ruby
1class AttendancesController < ApplicationController 2 before_action :authenticate_user!, except: [:index] 3 4 def index 5 @attendances = Attendance.all 6 end 7 8 9 def new 10 @attendance = Attendance.new 11 end 12 13 def show 14 @attendance = Attendance.find(params[:id]) 15 end 16 17 def create 18 @attendance = Attendance.new(attendance_params) 19 @attendance.user_id = current_user.id 20 @attendance.save 21 redirect_to attendances_path(@attendance) 22 end 23 24 def destroy 25 @attendance = Attendance.find(params[:id]) 26 if @attendance.user != current_user 27 redirect_to attendances_path, alert: "不正なアクセスです" 28 else 29 @attendance.destroy 30 redirect_to attendances_path, notice:"削除しました" 31 end 32 end 33 34 def edit 35 @attendance = Attendance.find(params[:id]) 36 if @attendance.user != current_user 37 redirect_to attendances_path, alert: "不正なアクセスです" 38 end 39 40 end 41 42 def update 43 @attendance = Attendance.find(params[:id]) 44 if @attendance.update(attendance_params) 45 redirect_to attendances_path(@attendance), notice: "更新しました" 46 else 47 render 'edit' 48 end 49 end 50 51 private 52 53 def attendance_params 54 params.require(:attendance).permit(:title, :content, :start_time, :last_time, :username) 55 56 end 57 58end 59
attendance.js
js
1document.addEventListener("turbolinks:load" 2,function() { 3 $('[name="btn"]:radio').change( function() { 4 if($('[id=a]').prop('checked')){ 5 $('.text').fadeOut(); 6 $('.text01').fadeIn(); 7 } else if ($('[id=b]').prop('checked')) { 8 $('.text').fadeOut(); 9 $('.text02').fadeIn(); 10 } else if ($('[id=c]').prop('checked')) { 11 $('.text').fadeOut(); 12 $('.text03').fadeIn(); 13 } 14 }); 15});
試したこと
eachの中でグラフを記述すると、別々にグラフが作成され、eachの外で記述すると、別の値も全て取ってきてしまします。
補足情報(FW/ツールのバージョンなど)
ruby '2.6.5'
gem 'simple_calendar', '~> 2.0'
gem "chartkick"
gem 'jquery-rails'
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー