Railsにfullcalendarを入れて社員の予定表を作りました。
予定表に表示された予定をクリックすると、詳細画面に遷移する作りにしました。
ここまでは良かったのですが、
ブラウザの戻るボタンクリックすると、カレンダーが追加されています。
同じ内容のカレンダーが2個になっていました。
その後、遷移→ブラウザバックごとにカレンダーが追加されてしまいます。
戻る度に、無駄に描画処理が走っているようですが
これを抑制するにはどうすれば良いでしょうか?
jQuery(coffee)に「すでに描画済みなら描画しない」といった処理が必要でしょうか?
それよりもっと効率的な方法があれば教えてください。
宜しくお願い致します。
calendar.coffee
jQeury
1document.addEventListener 'turbolinks:load', (e) -> 2 $('#calendar').fullCalendar header: {left: 'prev,next today',center: 'title',right: 'month,basicWeek,basicDay'},events: window.hoge_datas 3 return 4
予定表コントローラ
Ruby
1class PlanTablesController < ApplicationController 2 3 def index 4 5 #今月 6 @plans = ActionPlanNote.where(plan_date: Time.now.all_month) 7 8 @datas = []; 9 @plans.each {|p| 10 @datas += [ 11 'title' => p.employee.emp_name, 12 'start' => p.plan_date, 13 'end' => p.plan_date, 14 'color' => 'blue', 15 'url' => '/action_plan_dos/edit?date=' + p.plan_date.to_s + '&employee_id=' + p.employee_id.to_s 16 ] 17 } 18 19 end 20 21end 22
予定表View
ruby
1<%= javascript_tag do %> 2 window.hoge_datas = <%= raw @datas.to_json %>; 3<% end %> 4 5<div class="container-fluid"> 6 <div class="row"> 7 <div class="col-xs-4 col-xs-offset-2" > 8 <h1 class="page-title">予定表</h1> 9 </div> 10 <div class="col-xs-8 col-xs-offset-2" > 11 <div class="contents-box"> 12 <div id="calendar"></div> 13 </div> 14 </div> 15 </div> 16</div> 17 18
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/26 01:47
2017/06/26 01:49
2017/06/26 02:33