前提・実現したいこと
githubのcontributionsの部分を自作しております。
↓github
↓自作
発生している問題・エラーメッセージ
Railsで定義した変数をJSのclickイベントで変更したいのですがやり方がわかりません。 具体的には上の写真で、 前の年を押したら2018年に、次の年を押したら2020年に、 その下の1〜12のボタンを押したらその月になるようにしたいです。 (まだCSSを組んでおらず見にくく申し訳ありません) JSだけでならできるのですが、Githubのようにコミット数で(自分の場合は写真のカレンダー上にあるツイートから持ってきた学習時間数によって)その日の色を変えたいため、 RailsとJSのバックとフロントの変数の繋げ方がわからず行き詰まっております。
該当のソースコード
htmlerb
1<% today = Time.current %> 2<% thisYear = today.strftime("%Y") %> 3<% thisMonth = today.strftime("%m") %> 4<% thisDay = today.strftime("%d") %> 5<% weeks = ['日', '月', '火', '水', '木', '金', '土'] %> 6 7<%# 今月からmヶ月前 %> 8<% m = 0 %> 9<%# // 月の最初の日を取得 %> 10<% startDate = today.ago(m.month).beginning_of_month %> 11<%# // 月の最後の日を取得 %> 12<% endDate = today.ago(m.month).end_of_month %> 13<%# // 月の末日 %> 14<% endDayCount = endDate.strftime("%d")%> 15<%# // 月の最初の日の曜日を取得 %> 16<% startDay = startDate.wday %> 17<%# // 日にちのカウント %> 18<% dayCount = 0 %> 19 20 21<table> 22 <caption class="title">学習カレンダー</caption> 23 <button id="prev" type="button">前の年</button> 24 <caption class="year_month"><%= today.ago(m.month).strftime("%Y年%m月") %></caption> 25 <button id="next" type="button">次の年</button><br> 26 <% for i in 1..12 do%> 27 <button><%= i %></button> 28 <% end %> 29 <tr> 30 <% for j in 0..6 do %> 31 <th><%= weeks[j] %></th> 32 <% end %> 33 </tr> 34 35 <% for w in 0..5 do %> 36 <tr> 37 <% for d in 0..6 do %> 38 <% if (w == 0 && d < startDay.to_f) %> 39 <%# // 1行目で1日の曜日の前 %> 40 <td>0</td> 41 <% elsif (dayCount > endDayCount.to_f-1) %> 42 <%# // 末尾の日数を超えた %> 43 <td>0</td> 44 <% else %> 45 <td> 46 <p class="day"><%= startDate.since(dayCount.days).strftime("%-d日") %></p> 47 <p class="hours"> 48 <% sum = 0 %> 49 <% @posts.each do |post| %> 50 <% if post.created_at.strftime("%Y%m%d") == startDate.since(dayCount.days).strftime("%Y%m%d") %> 51 <% sum += post.hours.to_f %> 52 <% end %> 53 <% end %> 54 <%= sum.to_f %> 55 </p><span>時間</span> 56 </td> 57 <% dayCount += 1 %> 58 <% end %> 59 <% end %> 60 </tr> 61 <% end %> 62</table> 63
試したこと
gemのgonや<%== JSON.dump() %>などを使ってみたのですが上手くいきませんでした。
https://qiita.com/s_nakamura/items/5d153f7d9db1b1190296
補足情報(FW/ツールのバージョンなど)
プログラミング自体Progateなどを使って独学しているためコードの書き方ももおかしいかもしれません。
html.erbにベタ書きしているのも間違っているかもしれません。。
コードにおかしなところがあったら教えていただけると幸いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。