simple_calendarを用いてアプリを作っています。
new.html.erbでDBに保存することができたのですが、index.html.erbで表示することができません。
index
1<%= month_calendar events: @group_sifts do |date, group_sifts| %> 2 <%= date.day %> 3<% group_sifts.each do |group_sift| %> 4 <div> 5 <%= link_to group_sift.worktype, group_sift %> 6 </div> 7 <% end %> 8 9<% end %>
new
1<%= form_with(model: @group_sift, local: true) do |form| %> 2 3 <div class="worktype"> 4 <label> 5 <%=form.radio_button :worktype, "朝番"%>朝番 6 </label> 7 <label> 8 <%=form.radio_button :worktype, "中番"%>中番 9 </label> 10 <label> 11 <%=form.radio_button :worktype, "遅番"%>遅番 12 </label> 13 <label> 14 <%=form.radio_button :worktype, "最終"%>最終 15 </label> 16 </div> 17 18 <div class="start_time"> 19 <%= form.label :出勤時間 %> 20 <%= form.datetime_select :start_time ,{:discard_year => true,minute_step: 15 ,start_hour: 7} %> 21 22 23 </div> 24 25 26 27 <div class="submit"> 28 <%= form.submit %> 29 </div> 30 31<% end %>
class GroupSiftsController < ApplicationController def index @group_sifts=GroupSift.all end def new @group_sift=GroupSift.new end def create GroupSift.create(group_sift_parameter) redirect_to group_sifts_path end private def group_sift_parameter params.require(:group_sift).permit(:worktype, :start_time ) end end
> index.html.erbで表示することができません。
と言うとページを表示する際に何かエラーが出ていらっしゃいますでしょうか?それとも、エラーが出ておらずページは表示されるけどデータが表示されませんでしょうか?
エラーは出ていないのですが表示されません。。
controllerに問題があるかも。載せてください
載せました!
controller はよさそうですね。。。
表示されない、 というのは どのように表示してほしいのに、どうなってしまってるのでしょう
カレンダーはでるがイベントが表示されない のか
イベントは表示されるがlinkが機能しないのか
など、否定形ではなく肯定形で。
カレンダー上にイベントを表示したいです!カレンダーは表示できています。
データが保存されていることは、確かでしょうか?Rails Consoleなどから確かめた結果などあれば。
また、例えば view/index.html.erbで<%= @group_sifts.first.worktype %>とだけ書くと正しく表示されますでしょうか?
原因の切り分けをするため、表示する際のログなども貼っていただくと非常にありがたいです。
コンソールで確認した結果,、start_timeの値がnilになっていることがわかりました。
```
new.html.erb
<%= form.datetime_select :start_time ,{:discard_year => true,minute_step: 15 ,start_hour: 7} %>
```
ここに原因があると考え、カスタマイズした部分を消したら表示に成功しました!