按日期Rails simple_calendar sum字段

时间:2017-01-28 02:10:55

标签: ruby-on-rails ruby ruby-on-rails-4

我在我的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并将其显示在日历上

1 个答案:

答案 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 }

我没有测试,所以也许需要对锻炼做一些改变。