我在我的Rails应用程序中使用simple_calendar gem来显示一个日历,该日历会在月视图中的每一天自动过滤活动:
profile.html.erb
<%= month_calendar events: @activities do |date, activities| %>
<%= date.strftime("%e") %>
<div class="totalminutes-container">
<span class="totalminutes">X</span> mins # this needs to be the sum of activity.minutes_out for the date
</div>
<% activities.each do |activity| %>
<p>
<%= activity.minutes_out %>
</p>
<div class="activity <%= activity.name.delete(' ') %>">
<%= activity.name %>
<div class="timeout">
<%= activity.created_at.strftime("%l:%M%P") %> - <%= activity.updated_at.strftime("%l:%M%P") %>
</div>
</div>
<% end %>
<% end %>
我想做的是每一天,每天显示一次activity.minutes_out并将其显示在日历上
答案 0 :(得分:0)
我认为有两种策略......
1)创建一个类方法,返回日期total_minutes
并在那里调用Activities.total_minutes(date)
。
或
2)com oseguintecódigo:
activities.map{|a| a.minutes_out if a.date == date }.compact!.inject(0){ |sum, i| sum + i }
我没有测试,所以也许需要对锻炼做一些改变。